如果表单未经验证,如何阻止将模型发送到控制器?如何防止将数据传递到控制器
剃刀
@using (Html.BeginForm("Login", "Login", FormMethod.Post))
{
<div>
<div class="form-group input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
@Html.TextBoxFor(model => model.AccountName, new { @id = "accountNameText", @class = "form-control", @placeholder = "Account name" })
</div>
<div class="form-group input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
@Html.TextBoxFor(model => model.Password, new { @id = "accountPasswordText", @class = "form-control", @placeholder = "Password" })
</div>
<div class="form-group">
<button type="submit" class="btn btn-success btn-block" onclick="valideLogin()">Login</button>
</div>
<span id="loginStatusMessege" style="color: red">
</span>
</div>
}
的jQuery
function valideLogin() {
var accName = $('#accountNameText');
var accPass = $('#accountPasswordText');
if (accName.val() === '' || accName.val() === '') {
$('#loginStatusMessege').html('Account name and password cannot be blank.');
}
}
之后,我按下登录按钮和文本框没有填写,代码成功地进入jQuery和有关错误的反应,但仍然,每次我正在进入控制器。我如何防止此操作?
:)用于提示'event.preventDefault()'而不是'返回false'。 – Rohit416
总的来说最好的答案,但你应该总是使用'on'(即'.on('submit',function(){...}')而不是像'submit'这样的事件特定的方法,后者已经被弃用。 –