当我的js页面加载并且我创建了一个如下所示的规则时,我从jquery.validate.js库行#138中抛出错误,该错误表示“无法读取未定义的属性'设置'”
settings = $.data( element.form, "validator" ).settings;
以下是我要添加的规则以及我正在添加的表单
$('#zipCodeText').rules("add", {
required: true,
minlength: 5,
maxlength: 5,
messages: {
required: "Required input",
minlength: jQuery.validator.format("Please, {0} characters are necessary"),
maxlength: jQuery.validator.format("Please, {0} characters are necessary")
}
});
@using (Html.BeginForm("SaveLocation", "Manage", FormMethod.Post, new { @class = "form-horizontal", @id = "registerForm", role = "form" })) {
<div class="form-group">
<label for="countryList">Country</label>
<br />@Html.EnumDropDownListFor(m => m.Countries, null, new { @id = "countryList", @class = "selectpicker btn-group-lg" })
</div>
<div id="zipCodeGroup" class="form-group has-feedback" style="display: @(Model.Country == 0 ? " " : "none ");">
<label for="zipCodeText">ZipCode</label>
<input type="number" min="5" max="5" class="form-control input-lg" id="zipCodeText" placeholder="e.g. 94102" value="@Model.ZipCode">
<label id="zipCodeMessage" style="display: none;"></label>
</div>
<div id="locationGroup" class="form-group has-feedback" style="display: @(Model.Country == 0 ? " none " : " ");">
<label for="locationText">Location</label>
<input type="text" min="4" max="40" class="form-control input-lg" id="locationText" placeholder="e.g. San Francisco" value="@Model.Location">
<label id="locationMessage" style="display: none;"></label>
</div>
<input type="button" value="Save" id="yogaLocationSave" class="btn btn-primary btn-lg" />
<input type="button" value="Cancel" id="yogaLocationCancel" class="btn btn-default btn-lg" />}
答案 0 :(得分:0)
JavaScript运行时错误:无法获取未定义或空引用的属性“设置”
必须首先初始化插件,方法是调用表单元素上的.validate()
方法。
$('#yourform').validate({ // <-- INITIALIZE the plugin on your form
// any options, rules, or callbacks
});