【发布时间】:2019-02-10 21:05:40
【问题描述】:
我有以下Form,我正在执行Validation。我有以下代码:
<form method="post" asp-action="actionName" asp-controller="controllerName" id="myForm">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="card">
...
<div class="row">
<div class="col-sm-6 m-t-20">
<div class="fg-line">
<label asp-for="Name" class="fg-label" for="name">Name</label>
<input asp-for="Name" class="form-control" id="name" name="name" required />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6 m-t-20">
<div class="fg-line">
<label asp-for="Age" class="fg-label" for="age">Age</label>
<input asp-for="Age" class="form-control" id="age" name="age" required />
<span asp-validation-for="age" class="text-danger"></span>
</div>
</div>
</div>
...
</div>
</form>
<script src="~/js/app.js"></script>
@section Scripts{
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
<script type="text/javascript">
$('form').validate({
onfocusout: function (element) {
this.element(element);
},
messages: {
amount: 'Enter Name',
age: 'Enter Age',
},
highlight: function (element) {
$(element).closest('.input-group').addClass('has-error');
},
unhighlight: function (element) {
$(element).closest('.input-group').removeClass('has-error');
$(element).closest('.input-group').addClass('has-success');
}
})
$(document).ready(function(){
if(@ViewBag.userId != null){
var userId = @ViewBag.userId;
}
</script>
}
当我尝试提交空表单(不输入任何数据)时,我希望会弹出警告消息。但是,我在该字段旁边没有看到任何消息。但是,我可以看到表单没有被提交,光标提示我输入一些文本。我哪里错了?
【问题讨论】:
-
@ViewBag.userId输出的是什么? -
@LucaKiebel 它正在从
Controller输出userId。我得到了12。 -
所以。它总是一个数字或空值?
-
是的。我在这里找一个号码。唯一的另一种情况是
ViewBag为空。 -
你能把实际执行的文档就绪函数的代码贴出来,意思是在asp完成预处理之后?
标签: jquery asp.net-mvc validation