为什么 JQuery valid() 方法总是返回 True?
我有一个简单的 HTML 表单:
<form id="frmNewCategory">
<span>New Category Name:</span>
<input type="text" id="txtNewCategoryName">
<label>Amount:</label>
<input type="text" id="txtNewCategoryAmount">
<br>
<input type="submit" value="Create" class="importantButton button" id="btnNewCategory">
<input type="button" value="Cancel" class="button" id="btnCancelNewCategory">
</form>
以及一些 jQuery 驱动的 JavaScript,使用 验证插件单击 btnNewCategory 时触发:
function onNewCategoryClick(event)
{
$("#frmNewCategory").validate(
{
rules:
{
txtNewCategoryName : { required: true },
txtNewCategoryAmount : { required: true, number: true }
},
messages:
{
txtNewCategoryName : { required: "*" },
txtNewCategoryAmount: { required: "*", number: "Invalid Amount." }
}
});
if (!$("#frmNewCategory").valid())
return;
event.preventDefault();
var cmd = cmdFactory.createUndoableNewCategoryCommand($(this));
cmdBus.handleCommand(cmd);
}
上面的方法应该验证 frmNewCategory。问题是,即使表单具有无效值或根本没有值,.valid() 方法仍然返回 True。
有什么想法吗?我做错了什么?
I have a simple HTML form:
<form id="frmNewCategory">
<span>New Category Name:</span>
<input type="text" id="txtNewCategoryName">
<label>Amount:</label>
<input type="text" id="txtNewCategoryAmount">
<br>
<input type="submit" value="Create" class="importantButton button" id="btnNewCategory">
<input type="button" value="Cancel" class="button" id="btnCancelNewCategory">
</form>
And a bit of jQuery-driven JavaScript using the validation plugin that fires when btnNewCategory is clicked:
function onNewCategoryClick(event)
{
$("#frmNewCategory").validate(
{
rules:
{
txtNewCategoryName : { required: true },
txtNewCategoryAmount : { required: true, number: true }
},
messages:
{
txtNewCategoryName : { required: "*" },
txtNewCategoryAmount: { required: "*", number: "Invalid Amount." }
}
});
if (!$("#frmNewCategory").valid())
return;
event.preventDefault();
var cmd = cmdFactory.createUndoableNewCategoryCommand($(this));
cmdBus.handleCommand(cmd);
}
The method above is supposed to validate frmNewCategory. Trouble is that even if the form has invalid values or no values at all the .valid() method still returns True.
Any ideas? What am I doing wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
这种模式以前对我有用:
这样做后,似乎验证已被激活。
This pattern worked for me before:
After doing so, it seems that validation is activated.
代替:
使用:
Instead of:
Use:
规则采用输入“names”而不是“ids”的形式:
The rules take form input "names" not "ids":