客户端验证是通过js 来的 所以是不安全的。但是可以挡住大部分的普通用户。
危险用户 可能会把 js去掉
一个严谨的系统应该包含 客户端 和服务端
但是客户端的验证 可以大大减轻服务器端的压力。
客户端的验证 需要我们
引入js
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>Code language: HTML, XML (xml)
通过mvc自定义的属性 来显示错误信息
@model FirstCoreMVC.Models.UserInfo
@{
ViewData["Title"] = "Register";
}
<script src="~/lib/jquery/dist/jquery.js"></script>
<script src="~/lib/jquery-validation/dist/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
<h2>注册</h2>
<form method="post" action="/user/register?id=12">
<div class="form-group">
<label asp-for="Name" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Password" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Password" class="form-control" />
<span asp-validation-for="Password" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="Comfirmpassword" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Comfirmpassword" class="form-control" />
<span asp-validation-for="Comfirmpassword" class="text-danger"></span>
</div>
</div>
<input type="submit" value="提交" />
</form>Code language: HTML, XML (xml)
格式化错误提示信息
//增加这个标注 则这个属性 必须绑定 如果没有绑定 则会抛出错误的
[BindRequired]
[Display(Name="用户名")]
[StringLength(maximumLength:15,MinimumLength =6)]
public string Name { get => name; set => name = value; }
[Required]
[Display(Name = "密码")]
public string Password { get => password; set => password = value; }
[Display(Name = "确认密码")]
[Compare("Password",ErrorMessage = "{0}和{1}必须一样")]
public string Comfirmpassword { get => comfirmpassword; set => comfirmpassword = value; }Code language: PHP (php)
Previous: 14-模型验证-服务器端验证
Next: 16-远程验证Remote