💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
## $.fn (插件方法) ### .validator() #### .validator( options ) **描述**:根据参数初始化验证,验证 jQuery 选中的表单 **参数**:*{Object}* options - 可选,参考[配置选项](https://validator.niceue.com/docs/options.html) **示例**: ```javascript $('#form1').validator({ timely: 2, stopOnError: true, fields: { email: "required;email", password: "required;length(6~16)", mobile: "required;mobile" }, valid: function(form) { $.post("path/to/server", $(form).serialize()) .done(function(){ // some code }); } }); ``` #### .validator( validCallback ) **描述**:初始化验证,验证 jQuery 选中的表单,验证通过后执行回调 **参数**:*{Function}* validCallback - 表单验证通过的回调 **示例**: ```javascript $('#form1').validator(validCallback); // 等同于 $('#form1').validator({ valid: validCallback }); ``` #### .validator( instanceMethod, arg1, arg2... ) **描述**:通过`.validator()` 方法调用实例方法 **参数**:*{String}* instanceMethod - 实例方法名称 **参数**:*{Arguments}* argn - 调用实例方法时的参数 **示例**: ```javascript // 清空表单验证消息 $('#form1').validator("cleanUp"); // 销毁表单验证 $('#form1').validator("destroy"); ``` ### .isValid( callback ) **描述**:判断某个区域或者某个字段是否验证通过,如果字段中有异步 ajax 验证,需要通过 callback 获取验证结果 **参数**: *{Function}* callback - 回调函数 **示例**: ```javascript // 使用回调函数获取验证结果 $('#mobile').isValid(function(v){ if (v) { // do something } }); // v0.10.5+ 还支持下面这种写法,即回调不带参数,就是验证通过的回调 $('#mobile').isValid(function(){ // do something }); // 如果验证的字段中没有 ajax 异步验证,直接获取结果也是可以的 if ( $('#mobile').isValid() ) { // do something } ``` ## $.validator (静态方法) ### $.validator(selector, options) **描述**:初始化表单。如果 `selector` 选择的元素存在于 DOM,其等同于 `$(selector).validator(options)` 这种写法。如果不存在,nice-validator 会 预初始化 该选择器选中的表单,等到该表单存在时就可以直接被验证。 **参数**:*{jqSelector|Element}* selector - jQuery 选择器(支持预初始化),或者 DOM Element **参数**:*{Object}* options - 参考[配置选项](https://validator.niceue.com/docs/options.html) **示例**: ```javascript // 即使 "#form1" 这个表单被动态加载,也可以验证 $.validator("#form1", { timely: 2, stopOnError: true, fields: { email: "required;email", password: "required;length(6~16)", mobile: "required;mobile" } }); ``` ### .config(options) **描述**:配置全局选项 **参数**:*{Object}* options - 参考[配置选项](https://validator.niceue.com/docs/options.html) **示例**: ```javascript $.validator.config({ timely: 2 }); ``` ### .setTheme(name, options) **描述**:配置全局主题 **参数**:*{String}* name - 主题名称 **参数**:*{Object}* options - 参考[配置选项](https://validator.niceue.com/docs/options.html) **示例**: ```javascript $.validator.setTheme("myTheme", { formClass: "nice-flat", msgClass: "n-right", timely: 2, stopOnError: true }); ``` ## instance (实例方法) > 实例方法需要获取对象实例,才能调用。 > 验证初始化的时候会自动初始实例,通过 `$form.data('validator')` 可以获取到实例 ### .test(elem, rule) **描述**:验证字段是否符合指定的规则 **参数**:*{Element}* elem - DOM 元素 **参数**:*{String}* rule - 规则 **返回**:*{Boolean}* **示例**: ```javascript $("#myForm").validator({ rules: { loginName: function(element) { return /^[a-zA-Z]\w{3,}/.test(element.value) || this.test(element, "mobile") || this.test(element, "email") || 'Please fill user name, phone number or E-mail'; } }, fields: { username: "required; loginName", password: "required; length(6~16)" } }); ``` ### .setField() #### .setField(key, field) **描述**:动态配置字段参数 **参数**:*{String}* key - 字段 name 或者 #id **参数**:*{Object}* field - 字段参数 **示例**: ```javascript $('form').validator("setField", "username", "required;"); // Remove the field's verification. $('form').validator("setField", "username", null); ``` #### .setField(obj) **描述**:动态配置字段参数 **参数**:*{Object}* obj - 字段参数 Hash **示例**: ```javascript $('form').validator("setField", { username: "required;username", pwd: "required;password" }); ``` ### .showMsg(elem, obj) **描述**:使字段提示消息(不推荐),推荐使用[.trigger("showmsg")](https://validator.niceue.com/docs/events.html#section-2-2) **参数**:*{Element | jqSelector}* elem - DOM 元素或者 jQuery 选择器 **参数**:*{Object}* obj - 参数 **示例**: ```javascript // 单个字段提示消息 $('form').validator('showMsg', '#mobile', { type: "error", msg: "Phone number already exists." }); // 映射消息到多个字段 $('form').validator('showMsg', { mobile: { type: "error", msg: "Phone number already exists." }, email: { type: "error", msg: "Email already exists." } }); ``` ### .hideMsg(elem) **描述**:使字段隐藏消息(不推荐),推荐使用[.trigger("hidemsg")](https://validator.niceue.com/docs/methods.html#section-3-4) **参数**:*{Element|jqSelector}* elem - DOM 元素或者 jQuery 选择器 **示例**: ```javascript $('#form1').validator('hideMsg', '#mobile'); // or $('#form1').data('validator').hideMsg('#mobile'); ``` ### .holdSubmit(hold) **描述**:防止表单重复提交的措施 **参数**:{Boolean} hold - 是否控制表单提交 **示例**: ```javascript $("#myForm").validator({ valid: function(form){ var me = this; // Before submitting the form, hold form, to prevent duplicate submission. me.holdSubmit(); $.ajax({ url: "xxx.php", data: $(form).serialize(), type: "POST", success: function(){ // After the form is submitted successfully, release hold. me.holdSubmit(false); } }); } }); ``` ### .cleanUp() **描述**:清除表单中的全部验证消息 **示例**: ```javascript $('#form1').validator('cleanUp'); ``` ### .destroy() **描述**:销毁表单验证实例 **示例**: ```javascript $('#form1').validator('destroy'); ```