Dependency mismatch with Jquery Validate plugin

蹲街弑〆低调 提交于 2019-12-23 20:08:56

问题


I am pretty new to Jquery, I am using validation rule against my textbox. The problem is when i mark textbox is mandatory n user doesn't input any value then it doesn't show any validation message. I have associated another validation message for textbox tht the value shu be in range and which works when user provides any input.

$.validator.addMethod("requiredRangeFunction", function(value, element) {debugger
            $.validator.messages["requiredRangeFunction"] = 
    jQuery.format(
      $(element).attr('ErrorMessage') ? $(element).attr('ErrorMessage') : "Please enter the value between {0} and {1}",
      $(element).attr('MinValue'), 
      $(element).attr('MaxValue')
     );

    return  this.optional(element) || ((value > Number($(element).attr('MinValue')) && (value < Number($(element).attr('MaxValue')))));
}, "Please enter valid value.");

issue is with this.optional(element) which returns dependency mismatch when user doesnt provide any input.

my textbox can be optional too so i require to call this.optional(element)


回答1:


Testing for (this.optional(element) == true) worked for me.

So in your case it would be:

return  (this.optional(element) == true) || ((value > Number($(element).attr('MinValue')) && (value < Number($(element).attr('MaxValue')))));



回答2:


(Opposite from Nav's solution)

return (this.optional(element) != false) || test;

this works for sure.




回答3:


Optional means the user doesn't have to provide any input. If there is no input, it doesn't need to be validated.




回答4:


You can replace the

return this.optional(element) || <test condition>

by

var r = $(element).rules();
var req=(this.objectLength(r))?r.required:false;
return !req || <test condition>;

May be it will be enouth:

var req=r.required; // true, false or undefined.

Assume that undefined is the same as false for our needs.



来源:https://stackoverflow.com/questions/1765302/dependency-mismatch-with-jquery-validate-plugin

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!