mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Merge pull request #4842 from EnableSoftware/ms-jquery-validation
Add Microsoft JQuery Unobtrusive Validation
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
/// <reference path="jquery-validation-unobtrusive.d.ts" />
|
||||
|
||||
// Test overloads for `add` method
|
||||
$.validator.unobtrusive.adapters.add("adapter", () => { });
|
||||
$.validator.unobtrusive.adapters.add("adapter", function () {
|
||||
return true;
|
||||
});
|
||||
$.validator.unobtrusive.adapters.add("adapter", ["param1", "param2"], () => { });
|
||||
|
||||
// Test overloads for `addMinMax` method
|
||||
$.validator.unobtrusive.adapters.addMinMax("adapter", "minRule", "maxRule", "minMaxRule");
|
||||
$.validator.unobtrusive.adapters.addMinMax("adapter", "minRule", "maxRule", "minMaxRule", "minAttr");
|
||||
$.validator.unobtrusive.adapters.addMinMax("adapter", "minRule", "maxRule", "minMaxRule", "minAttr", "maxAttr");
|
||||
|
||||
// Test overloads for `addSingleVal` method
|
||||
$.validator.unobtrusive.adapters.addSingleVal("adapter", "rule");
|
||||
$.validator.unobtrusive.adapters.addSingleVal("adapter", "attr", "rule");
|
||||
|
||||
// Test overloads for `addBool` method
|
||||
$.validator.unobtrusive.adapters.addBool("adapter");
|
||||
$.validator.unobtrusive.adapters.addBool("adapter", "rule");
|
||||
|
||||
// Test `addMethod`
|
||||
$.validator.unobtrusive.adapters.addMethod("adapter", (value, element, params) => {
|
||||
return true;
|
||||
});
|
||||
|
||||
// Test method chaining
|
||||
$.validator.unobtrusive.adapters
|
||||
.add("required", () => { })
|
||||
.addMinMax("length", "minlength", "maxlength", "rangelength")
|
||||
.addSingleVal("regex", "pattern")
|
||||
.addBool("url")
|
||||
.addMethod("nonalphamin", (value, element, nonalphamin) => {
|
||||
return null;
|
||||
});
|
||||
|
||||
// Test `Adapters` indexer
|
||||
var adapterName = $.validator.unobtrusive.adapters[0].name;
|
||||
|
||||
// Test `Adapters` iterator
|
||||
$.each($.validator.unobtrusive.adapters, function (index, adapter) {
|
||||
console.log(adapter.name);
|
||||
console.log(adapter.params);
|
||||
console.log(adapter.adapt);
|
||||
});
|
||||
|
||||
// Test `Adapters` array
|
||||
$.validator.unobtrusive.adapters.push({ name: "adapter", params: ["param1"], adapt: () => { } });
|
||||
|
||||
// Test overloads for `parseElement`
|
||||
$.validator.unobtrusive.parseElement("form");
|
||||
$.validator.unobtrusive.parseElement(document);
|
||||
$.validator.unobtrusive.parseElement(document.getElementById("the-form"));
|
||||
$.validator.unobtrusive.parseElement($("#the-form"));
|
||||
$.validator.unobtrusive.parseElement($("#the-form"), true);
|
||||
|
||||
// Test overloads for `parse`
|
||||
$.validator.unobtrusive.parse("form");
|
||||
$.validator.unobtrusive.parse(document);
|
||||
$.validator.unobtrusive.parse(document.getElementById("the-form"));
|
||||
$.validator.unobtrusive.parse($("#the-form"));
|
||||
@@ -0,0 +1,38 @@
|
||||
// Type definitions for Microsoft jQuery Unobtrusive Validation v3.2.3
|
||||
// Project: http://aspnetwebstack.codeplex.com/
|
||||
// Definitions by: Matt Brooks <https://github.com/EnableSoftware>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
/// <reference path="../jquery.validation/jquery.validation.d.ts" />
|
||||
|
||||
declare module MicrosoftJQueryUnobtrusiveValidation {
|
||||
type JQuerySelector = string | Document | Element | JQuery;
|
||||
|
||||
interface Adapter {
|
||||
name: string;
|
||||
params: string[];
|
||||
adapt: Function
|
||||
}
|
||||
|
||||
interface Adapters extends Array<Adapter> {
|
||||
add(adapterName: string, fn: Function): Adapters;
|
||||
add(adapterName: string, params: string[], fn: Function): Adapters;
|
||||
addMinMax(adapterName: string, minRuleName: string, maxRuleName: string, minMaxRuleName: string, minAttribute?: string, maxAttribute?: string): Adapters;
|
||||
addSingleVal(adapterName: string, ruleName: string): Adapters;
|
||||
addSingleVal(adapterName: string, attribute: string, ruleName: string): Adapters;
|
||||
addBool(adapterName: string, ruleName?: string): Adapters;
|
||||
addMethod(adapterName: string, fn: (value: string, element: Element, params: any) => any): Adapters;
|
||||
}
|
||||
|
||||
interface Validator {
|
||||
adapters: Adapters;
|
||||
parseElement(element: JQuerySelector, skipAttach?: boolean): void;
|
||||
parse(selector: JQuerySelector): void;
|
||||
}
|
||||
}
|
||||
|
||||
declare module JQueryValidation {
|
||||
interface ValidatorStatic {
|
||||
unobtrusive: MicrosoftJQueryUnobtrusiveValidation.Validator;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user