BootstrapValidator는 Boostrap v3용으로 특별히 제작된 양식 검사 jQuery 플러그인입니다. 일반적으로 사용되는 여러 검사 기능을 구현할 수 있고 확장이 쉬우며 중국어도 지원합니다! 부트스트랩 사용자를 위해 즉시 사용할 수 있습니다.
접두사:
jQuery, bootstrap, bootstrapValidator 소개
문제 설명:
프로젝트에서는 모든 양식 입력 상자에 & 기호를 입력할 수 없도록 요구합니다. 부트스트랩에서 사용할 수 있는 방법이 없어서 직접 해야 했습니다
생각:
정규 표현식을 사용하세요.
두 가지 상황이 있습니다. 첫 번째는 입력 상자에 자체 정기 확인이 있으면 걱정할 필요가 없다는 것입니다(일반적으로 두 번째 경우에는 정기 확인이 사용됩니다). 정규 표현식이 없으면 &의 정규 규칙을 입력할 수 없다는 점을 추가해야 합니다.
위의 두 가지 상황에 따라 bootstrapValidator 초기화 기능을 오버로드하고 초기화 설정을 수정하는 것이 필요합니다. 마지막으로 원래 bootstrapValidator 함수를 복원합니다(이 단계는 필요합니다. 원래 bootstrapValidator 함수에는 손실될 수 없는 많은 관련 항목이 있습니다).
구현:
/*add chenhua 2015.10.16 重写bootstrapValidator方法?给每一个验证项都添加禁止输入"&"符号*/ $(function(){ //保存原始的bootstrapValidator var overwrite = $.fn.bootstrapValidator; //重载bootstrapValidator $.fn.bootstrapValidator = function(options){ //恢复原来的bootstrapValidator,因为其加了很多数据是不能丢失的 $.fn.bootstrapValidator = overwrite; //这里有两种做法,第一种是直接修改arguments内容,使其包含不能输入&的验证,然后调用即可; //第二种是先使用arguments来初始化,然后使用调用bootstrapValidator的函数来给非正则表达式验证的项添加不能输入&的验证 //这里我们使用了第二中。 var validtor = overwrite.apply(this,arguments); if($.type(arguments[0]) == "object"){ var vtor = this.data("bootstrapValidator"), //过滤出输入框表单项 fileds = this.find("input[name][type='hidden'],input[name][type='password'],input[name][type='text'],textarea[name]").not(":disabled,[type='hidden']"); fileds.each(function(){ //本身没有正则验证才添加不能输入&的验证 if(!vtor.getOptions($(this).attr('name'),'regexp','regexp')){ vtor.addField($(this).attr('name'), { validators: { regexp: { regexp: /^[^&]*$/, message: "不能包含&字符" } } }) } }) } return validtor; } })
위 내용은 Script House 편집자가 소개한 jQuery 기반의 bootstrapValidator에서의 글로벌 검증입니다.