您的位置:首页 > Web前端 > BootStrap

bootstrap表单验证 FormValidation API

2017-05-17 09:50 477 查看
官网http://formvalidation.io/api/

用法

使用插件初始化表单后$(form).formValidation(options),有两种方法调用插件方法:

// Get plugin instance
var formValidation = $(form).data('formValidation');

// and then call method
formValidation.methodName(parameters)


要么:

$(form).formValidation(methodName, parameters);


第一种方法主要返回FormValidation实例,同时第二种方法总是返回表示表单的jQuery对象。

所以,可以链接方法如下:

// The first way
$(form)
.data('formValidation')
.updateStatus('birthday', 'NOT_VALIDATED')
.validateField('birthday');

// The second one
$(form)
.formValidation('updateStatus', 'birthday', 'NOT_VALIDATED')
.formValidation('validateField', 'birthday');


以下是插件提供的公共方法列表。

方法使用与以下相同的格式:

methodName(requiredParameter*, optionalParameter, …): Type of return value - 方法的目的

addField

addField(field*, options): FormValidation - 添加一个新的字段。

参数 类型 描述

field String| jQuery 字段名称或字段元素

options : Object 字段选项。如果没有定义,这些选项将通过以下方式合并:

- 从字段的HTML属性解析的选项

- 调用插件时设置的当前选项

如果要添加新字段后要执行其他任务,则触发added.field.fv事件:

$(document).ready(function() {
$(form)
.formValidation(options)
.on('added.field.fv', function(e, data) {
// $(e.target)  --> The form instance
// $(e.target).data('formValidation')
//              --> The FormValidation instance

// data.field   --> The field name
// data.element --> The new field element
// data.options --> The new field options

// Do something ...
});
});


例子:(有空再加链接)

添加动态字段

$("#result").change(function(){
$('#defaultForm').formValidation('removeField', $("#comment"))//删除验证给定字段
if($(this).val()==0){
//通过
showPayWay()
//添加验证给定字段
$('#defaultForm').formValidation('addField', 'comment', formObj.sameAs(true))//选填
}else{
//不通过
hidePayWay()

$('#defaultForm').formValidation('addField', 'comment', formObj.sameAs(false))//必填

}
//重新验证给定字段。
$("#defaultForm").formValidation('revalidateField', "comment");
});


defaultSubmit

defaultSubmit(): FormValidation - 使用默认提交提交表单。

在提交表单时也不会执行任何验证。当您要在自定义提交处理程序中提交表单时,可能会使用它。

destroy

destroy() - 破坏插件。

它将删除所有错误消息,反馈图标以及关闭插件创建的事件。

disableSubmitButtons

disableSubmitButtons(disabled): FormValidation - 禁用或启用提交按钮

参数 类型 描述

disabled 布尔 可以是true或false

例子:(有空再加链接)

enableFieldValidators

enableFieldValidators 始终启用提交按钮

enableFieldValidators(field*, enabled*, validator): FormValidation - 启用,禁用验证器给定字段

参数 类型 描述

field String 字段名称

enabled 布尔 如果true,启用字段验证器。如果false,禁用字段验证器

validator String 验证器名称。如果未设置,所有字段验证器将被启用或禁用

例子:(有空再加链接)

条件验证

启用,禁用验证器

在同一个字段上切换验证器

在母版页中切换验证器

getDynamicOption

getDynamicOption(field*, option*): String - 返回可以动态设置的选项值。

例如,zipCode验证器具有country可以动态更改select元素的选项。

参数 类型 描述

field String| jQuery的 字段名称或元素

option String 该动态选项

getFieldElements

getFieldElements(field): jQuery[] - 按照给定的名称检索字段元素。

返回表示该字段的jQuery元素的数组,或者null如果找不到这些字段。

参数 类型 描述

field String 字段名称

getInvalidFields

getInvalidFields(): jQuery[] - 返回无效字段的列表。

例子:(有空再加链接)

激活包含无效字段的选项卡



getMessages

getMessages(field, validator): String[] - 获取错误消息。

参数 类型 描述

field String| jQuery的 字段名称或字段元素

如果未定义字段,则该方法将返回所有字段的所有错误消息

validator 串 验证器的名称

如果未定义验证器,则该方法返回所有验证器的错误消息。

例子:(有空再加链接)

显示自定义区域中的消息

getOptions

getOptions(field, validator, option): String|Object - 获取字段选项。

参数 类型 描述

field String| jQuery的 字段名称或字段元素 如果未定义字段,则该方法返回表单选项。

validator String 验证器的名称 如果未定义验证器,则该方法返回所有字段选项。

option String 选项名称 如果未定义,则该方法返回给定验证器的选项

getSubmitButton

getSubmitButton(): jQuery - 返回显示点击的提交按钮的jQuery元素。null如果没有点击提交按钮返回。

例子:(有空再加链接)

使用多个按钮

isValid

isValid(): Boolean - 检查表格的有效性。它可以采取三个值之一:

true 如果所有字段都有效

false 如果有一个无效字段

null 如果至少有一个字段尚未被验证或被验证

确保在调用此函数之前已经调用了validate()方法。

var fv=$form.data('formValidation');
fv.validate();
if(fv.isValid()){
....
}


例子:(有空再加链接)

isValidContainer

isValidContainer(container*): Boolean - 它可以采用三个值之一:

true 如果属于该容器的所有字段都有效

false 如果属于容器的所有字段已经被验证,并且至少有一个无效字段

null 如果容器至少包含一个尚未验证的字段

使用validateContainer(container)方法,这些方法在使用向导(例如选项卡,可折叠面板)时非常有用。

参数 类型 描述

container String| jQuery的 容器选择器或容器元件

例子:(有空再加链接)

向导示例

isValidField

isValidField(field*): Boolean - 检查该字段是否有效。它可以采取三个值之一:

true 如果该字段通过所有验证器

false 如果该字段没有通过任何验证器

null 如果至少有一个验证器尚未验证或验证

参数 类型 描述

field String| jQuery的 字段名称或字段元素

例子:(有空再加链接)

验证相互依赖的字段

removeField

removeField(field*): FormValidation - 删除给定字段

参数 类型 描述

field String| jQuery的 字段名称或字段元素

通过触发removed.field.fv事件,可以在删除给定字段后执行其他任务:

$(document).ready(function() {
$(form)
.formValidation(options)
.on('removed.field.fv', function(e, data) {
// $(e.target)  --> The form instance
// $(e.target).data('formValidation')
//              --> The FormValidation instance

// data.field   --> The field name
// data.element --> The new field element

// Do something ...
});
});


例子:(有空再加链接)

添加动态字段

resetField

resetField(field*, resetValue): FormValidation - 重置给定字段。它隐藏错误消息和反馈图标。

参数 类型 描述

field String| jQuery的 字段名称或字段元素

resetValue 布尔 如果true,该方法将字段值重置为空或删除检查/选择的属性(用于收音机和复选框)。

例子:(有空再加链接)

单击图标时清除字段

resetForm

resetForm(resetFormData): FormValidation- 重置表格。它隐藏所有错误元素和反馈图标。所有的字段都被标记为未被验证。

参数 类型 描述

resetFormData 布尔 如果true,该方法重置具有验证器规则的字段。

(form).formValidation(options);(form).data(‘formValidation’).resetForm();

revalidateField

revalidateField(field*): FormValidation - 重新验证给定字段。

当您需要重新验证其值由其他插件更新的字段时使用它。

默认情况下,一旦该字段已经被验证并被标记为有效的插件,该插件就不会重新验证该字段。当与其他插件一起使用时,字段值被更改,因此需要重新验证。

方法相当于:

$(form).data('formValidation')
.updateStatus(field, 'NOT_VALIDATED')
.validateField(field);

// Or
$(form).formValidation('updateStatus', field, 'NOT_VALIDATED')
.formValidation('validateField', field);
//or
$(form).formValidation('revalidateField', field);
// $("#defaultForm").formValidation('revalidateField', "comment");
//$("[name=comment]")


参数 类型 描述

field String| jQuery的 字段名称或字段元素

例子:(有空再加链接)

以下示例描述如何重新验证使用Boostrap Datetime Picker的字段:

例子:(有空再加链接)

字段值以编程方式更改

玩其他插件

条款和条件协议验证

验证相互依赖的字段

验证多个输入为一个

updateMessage

updateMessage(field*, validator*, message*): FormValidation - 更新错误消息。

参数 类型 描述

field String| jQuery的 字段名称或字段元素

validator String 验证器名称

message String 错误消息

例子:(有空再加链接)

禁用日期

显示从服务器返回的自定义消息

更新验证器选项

验证国际电话号码

updateOption

updateOption(field*, validator*, option*, value*): FormValidation - 更新特定验证器的选项。

参数 类型 描述

field String| jQuery的 字段名称或字段元素

validator String 验证器名称

option String 选项名称

value String 选项值

例子:(有空再加链接)

更新验证器选项

updateStatus

更新状态

updateStatus(field*, status*, validator): FormValidation - 更新给定字段的验证器结果

参数 类型 描述

field String| jQuery的 字段名称或字段元素

status String 可以是NOT_VALIDATED,VALIDATING,INVALID或者VALID

validator String 验证器名称。如果null,该方法更新所有验证器的有效性结果

例子:(有空再加链接)

要求领域是独一无二的

比较时间

禁用日期

显示从服务器返回的自定义消息

验证信用卡到期日

验证国际电话号码

验证百分比值



fields['basicLength']={
verbose: false,
validators: {
notEmpty: {
message: '这是必填字段'
},
digits: {
message: '值不是整数或数字'
},
callback: {
message: '基本时长必须大于免费时长',
callback: function(value, validator, $field) {
var $thisId=$field.attr("id")
var id= parseInt($thisId.substr($thisId.length-1,1))
var freeLength = $("#freeLength"+id).val()//validator.getFieldElements('basicLength').val();
if (freeLength === '') {
return true;
}
if(parseInt(freeLength)<value){
validator.updateStatus('freeLength', validator.STATUS_VALID, 'callback');
return true;
}
return false;

}
}
}
}
fields['freeLength']={
verbose: false,
validators: {
notEmpty: {
message: '这是必填字段'
},
digits: {
message: '值不是整数或数字'
},
callback: {
message: '免费时长必须小于基本时长',
callback: function(value, validator, $field) {
var $thisId=$field.attr("id")
var id= parseInt($thisId.substr($thisId.length-1,1))
var basicLength = $("#basicLength"+id).val()//validator.getFieldElements('basicLength').val();
console.log(basicLength,"id",id,$thisId,"value==",value,parseInt(basicLength)>value)
if (basicLength === '') {
return true;
}
if(parseInt(basicLength)>value){
validator.updateStatus('basicLength', validator.STATUS_VALID, 'callback');
return true;
}
return false;

}
}
}
}




validate

validate(): FormValidation - 手动验证表单。当您想通过单击按钮或链接而不是提交按钮来验证表单时,这很有用。

$(form).formValidation(options).formValidation('validate');

// or
$(form).formValidation(options);
$(form).data('formValidation').validate();

var fv  =$('#dForm').data('formValidation');
fv.validate();


validateContainer

validateContainer(container*): FormValidation - 验证给定容器。

使用isValidContainer(容器)方法,这些方法在使用向导(例如选项卡,可折叠面板)时非常有用。

参数 类型 描述

container String| jQuery的 容器选择器或元件

validateField

validateField(field*): FormValidation - 验证指定字段。

参数 类型 描述

field String| jQuery的 字段名称或字段元素
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  bootstrap 表单验证