У меня есть простая форма 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.
Есть идеи? Что я делаю не так?