jQuery.validation에서 같지 않음 규칙을 추가하는 방법
필드가 값과 같지 않은 규칙을 만들 수 있도록 만드는 방법이 궁금합니다. 'name'이라는 필드가 있으므로 'name'= 'Your Name'을 원하지 않습니다.
아무도 이것을하는 방법에 대한 아이디어가 있습니까? 도움을 주셔서 감사합니다.
다음과 같은 사용자 지정 방법을 사용할 수 있습니다.
jQuery.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value != param;
}, "Please specify a different (non-default) value");
그런 다음 다음과 같이 사용하십시오.
$("form").validate({
rules: {
nameField: { notEqual: "Your Name" }
}
});
이와 같은 규칙으로 추가하면 더 확장 가능하므로 다른 필드의 기본값과 비교할 때 사용할 수 있습니다.
Nick의 대답은 법안에 맞습니다. 양식의 두 필드를 비교하여 같지 않은지 확인해야했습니다. 나는 그것을 약간 수정했습니다.
jQuery.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value != $(param).val();
}, "This has to be different...");
$("#cform").validate(
{
rules: {
referringsales: { required: false, notEqual: "#salesperson" }
}
});
댓글에 답하기 위해 수정 됨 :
비교할 드롭 다운 세트가 두 개 이상있는 경우이 방법은 해당 사례에서도 작동합니다.
jQuery.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value != $(param).val();
}, "This has to be different...");
$("#cform").validate(
{
rules: {
referringsales: { required: false, notEqual: "#salesperson" }
DropDown2: { required: false, notEqual: "#SecondBase" }
}
});
추천 판매를 서로 다른 2 개의 기준 (예 : #initialContact 및 #salesperson)과 비교하는 것과 관련된 질문 인 경우 해당 규칙을 목록에 추가하면됩니다.
referringsales: { required: false, notEqual: "#salesperson", notEqual: "#initialContact" }
다중 값 함수를 제안합니다 ...
jQuery.validator.addMethod("notEqualTo",
function(value, element, param) {
var notEqual = true;
value = $.trim(value);
for (i = 0; i < param.length; i++) {
if (value == $.trim($(param[i]).val())) { notEqual = false; }
}
return this.optional(element) || notEqual;
},
"Please enter a diferent value."
);
그리고 나는 그것을 ...
$("#abm-form").validate({
debug: true,
rules: {
password1: {
required: true,
minlength: 10,
notEqualTo: ['#lastname', '#firstname', '#email']
},
password2: {
equalTo: '#password1'
}
}
});
이것은 나를 위해 작동합니다!
다운로드 패키지의 additional-methods.js에는 "notEqualTo"라는 이름이 있습니다.
https://github.com/jzaefferer/jquery-validation/blob/master/src/additional/notEqualTo.js
답변을 받았는지 확실하지 않지만 :
return this.optional (element) || value! = param;
값이 변수이면 작동하지 않습니다.
읽어야합니다.
return this.optional (element) || value! = $ (param) .val () ;
건배
질문이 의미하는 것과 같지 않은 값이 하나만 있으면 외부 플러그인 없이도 매우 쉽게 확인할 수 있습니다.
$('#yourForm').submit(function(e) {
if ( $('input[name="yourField"]').val()=='Your Name' )
e.preventDefault();
alert("Your message here");
}
});
Thanks a lot, Nick !!! A little adding: if you have a few fields to validate into validate() function, the syntax should be :
self.logo.rules(
'add', {
notEqual: "Select the Logo"
}
);
Thanks for @Nick Craver♦'s answer, but in my working environment, it needs to be slightly modified before it could work.
$.validator.addMethod("notEqualTo", function(value, element, param) {
return this.optional(element) || value != $(param).val();
}, 'This two elements are the same, please change it.');
Taking some great examples here, I wrote another version that works with multiple field to check against
/*=====================================================*/
/* Jquery Valiation addMethod*/
/* Usage: password: {notEqualTo: ['#lastname', '#firstname', '#email']} */
/*====================================================*/
jQuery.validator.addMethod("notEqualTo",
function (value, element, param) {
var notEqual = true;
value = $.trim(value);
for (i = 0; i < param.length; i++) {
var checkElement = $(param[i]);
var success = !$.validator.methods.equalTo.call(this, value, element, checkElement);
// console.log('success', success);
if(!success)
notEqual = success;
}
return this.optional(element) || notEqual;
},
"Please enter a diferent value."
);
/*=====================================================*/
/*=====================================================*/
Usage
$("form").validate(
{
rules: {
passwordNewConfirm: {equalTo: "#passwordNew"},
passwordNew: { notEqualTo: "#password" },
password: { notEqualTo: ['#passwordNew', '#passwordNewConfirm'] }
},
});
참고URL : https://stackoverflow.com/questions/3571347/how-to-add-a-not-equal-to-rule-in-jquery-validation
'Program Tip' 카테고리의 다른 글
GUID는 정확히 무엇입니까? (0) | 2020.11.29 |
---|---|
Java의 void 메소드에서 return 키워드는 무엇을합니까? (0) | 2020.11.29 |
웹킷에 예기치 않은 토큰이 잘못되었습니다. (0) | 2020.11.29 |
WPF 연결 속성 데이터 바인딩 (0) | 2020.11.29 |
Chrome에서 CSS3 계산 (100 % -88px)이 작동하지 않음 (0) | 2020.11.29 |