3
입력 필드가 거의없는 양식과 Store
및 Validate
두 가지 작업을 사용할 수있는 양식이 있습니다. 클라이언트 측 유효성 검사를 위해 jquery-validation
플러그인을 사용합니다.작업에 따라 양식 유효성 검사
Store
작업의 경우 Validate
조작 5 필드의 경우 2 개의 필드 만 필수입니다. 처음에는 Validate
작업 유효성 검사 규칙이 올바르게 작동하려고 할 때. Store
작업을 시도한 후에 작동 시키려면 Validate
작업에서 이전의 모든 오류를 지우고 양식을 한 번 더 확인하고 Store
작업 규칙이 필요합니다. resetForm()
으로 양식 오류를 해결하려고했지만 오류 메시지 만 지우지 만 양식이 여전히 유효하지 않으며 오류를 해결할 때까지는 아무 작업도 수행 할 수 없기 때문에 문제가 해결되지 않습니다. Pls는이 문제를 해결하는 방법을 귀하의 아이디어를 공유합니다.
P. 코드 스 니펫은 아래에 있습니다.
validator.resetForm();
$("#form").get(0).reset();
:
var validationOperMandatoryFields = new Array("field1", "field2", "field3", "field4", "field5");
var storeOperMandatoryFields = new Array("field1", "field2");
$(document).ready(function() {
var validator = $("#form").validate({
rules: {
field1: {
required: {
depends: function() {
return isMandatoryForOperation('field1')
}
}
},
field2: {
required: {
depends: function() {
return isMandatoryForOperation('field2')
}
}
},
field3: {
required: {
depends: function() {
return isMandatoryForOperation('field3')
}
}
},
field4: {
required: {
depends: function() {
return isMandatoryForOperation('field4')
}
}
},
field5: {
required: {
depends: function() {
return isMandatoryForOperation('field5')
}
}
}
}
});
});
function isMandatoryForOperation(fieldname) {
var operationName = $("#tempOper").val();
switch (operationName) {
case "Store":
return $.inArray(fieldname, storeOperMandatoryFields) > -1;
break;
case "Validate":
return $.inArray(fieldname, validationOperMandatoryFields) > -1;
break;
}
}