网上的各类表单验证插件的验证规则都是写在脚本里的,但我的插件的验证规则却是写在表单元素的属性里的。如下面的例子:
注意看上面代码中以“jv“开头的各种属性名,这些都是表单验证插件需要用的属性值。其中各属性代表的意思请阅读以下表:
1、form表格控件元素可使用的属性:
属性名 | 说明 |
jvpattern | 用来验证控件值是否正确的正则表达式。(可不定义此属性) |
jvcompareid | 需要与当前控件进行值相等比较的其它控件id。(可不定义此属性) |
jvrequired | 表明当前控件值是否是必须的,也即是否允许当前控件值为空。如不定义此属性则默认为不可空,如果值为false或0则允许为空。(可不定义此属性) |
jvmethod |
定义需要进行额外验证的方法。(可不定义此属性) 此属性值如果定义,则不需要输写“括号”,并且函数原型为: xx function(item){ //代码 //true表示验证成功,false表示验证失败。 return true/false; //或者带错误消息的返回 return {result:true/false, message:'错误消息'}; } 其中item参数是当前控件对象的jQuery实例。 |
jvtipid |
显示验证提示信息的控件id。(可不定义此属性) 注:如果不定义此属性,并且未定义onerror或oncorrect函数则默认为alert提示 |
jverrortip | 当验证失败时要显示的提示信息。(可不定义此属性) |
jvcorrecttip | 当验证成功时要显示的提示信息。(可不定义此属性) |
jvfocuson | 当验证失败后是否需要将光标移到控件上。(可不定义此属性) |
控件上必须定义:jvpattern、jvmethod、jvcompareid 三者之中的一个或多个,否则插件将不对对应的控件进行验证。
2、tip提示控件元素可使用的属性:tip提示控件即是某个表单控件jvtipid指定的控件。
属性名 | 说明 |
jvnormalclass | 正常情况下显示提示信息时采用的css样式的classname。(可不定义此属性) |
jvcorrectclass | 验证成功后显示提示信息时采用的css样式的classname。(可不定义此属性) |
jverrorclass | 验证失败后显示提示信息时采用的css样式的classname。(可不定义此属性) |
제어 규칙을 설정한 후 양식을 제출하기 전에 jValidate를 직접 활성화하고 호출하여 확인을 수행할 수 있습니다.
예:
또는 매개변수를 사용하여 호출:
설정 가능한 매개변수는 다음 표를 참조하세요.
매개변수 이름 | 설명 | ||||||||||||
거품 |
참고: 프롬프트 정보가 팝업 창에 표시되는 경우 한 번에 너무 많은 프롬프트가 팝업되어 사용자에게 혐오감을 주는 것을 방지하려면 이 값을 false로 설정하는 것이 좋습니다. |
||||||||||||
흐리게 하기 | 각 컨트롤이 포커스를 잃었을 때 즉각적인 확인이 필요한지 여부를 설정합니다. 기본값은 false입니다. | ||||||||||||
빈 팁 | 빈 프롬프트를 허용할지 여부입니다. 즉, 프롬프트 정보가 표시되지 않을 때 프롬프트 제어가 여전히 CSS 클래스를 변경할 수 있는지 여부입니다. 기본값은 false입니다. | ||||||||||||
정확함 | 컨트롤 값이 성공적으로 검증되면 처리 메서드가 호출됩니다. 정의되지 않은 경우 기본 동작이 채택됩니다. 함수 프로토타입: 매개변수 item: 현재 컨트롤의 jQuery 인스턴스를 나타냅니다. form: 컨트롤이 위치한 폼 인스턴스를 나타냅니다. | ||||||||||||
오류 발생 시 | 컨트롤 값 유효성 검사가 실패하면 처리 방법이 호출됩니다. 정의되지 않은 경우 기본 동작이 채택됩니다. 함수 프로토타입: 함수(항목, 형태){ //코드 } 매개변수 item: 현재 컨트롤의 jQuery 인스턴스를 나타냅니다. form: 컨트롤이 위치한 폼 인스턴스를 나타냅니다. |