action:
[HttpGet]
public IActionResult ConfigEdit(int id)
{
ConfigModel model = configBLL.GetModel(id);
return View(model);
}
View的内容也很简单,都是框架自动生成的:
@model Model.ConfigModel
@{
ViewData["Title"] = "编辑配置";
Layout = "~/Areas/manager/Views/Shared/_Layout.cshtml";
}
<h2>编辑配置</h2>
<hr />
<div class="row">
<div class="col-md-4">
<form asp-action="ConfigEdit">
<div asp-validation-summary="ModelOnly " class="text-danger"></div>
<div class="form-group">
<label asp-for="id" class="control-label"></label>
<input asp-for="id" class="form-control" />
<span asp-validation-for="id" class="text-danger"></span>
</div>
<div class="form-group hidden">
<label asp-for="type" class="control-label"></label>
<input asp-for="type" class="form-control" />
<span asp-validation-for="type" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="title" class="control-label"></label>
<input asp-for="title" class="form-control" />
<span asp-validation-for="title" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="description" class="control-label"></label>
<textarea asp-for="description" rows="5" class="form-control"></textarea>
<span asp-validation-for="description" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="name" class="control-label"></label>
<input asp-for="name" class="form-control" />
<span asp-validation-for="name" class="text-danger"></span>
</div>
<div class="form-group hidden">
<label asp-for="valuetype" class="control-label"></label>
<input asp-for="valuetype" class="form-control" />
<span asp-validation-for="valuetype" class="text-danger"></span>
</div>
<div class="form-group">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</form>
</div>
</div>
约定id的参数是需要int类型。
当id传入数字时,正常,能正确获取数据。
但当id传入非数字时,报错,
生成的内容是这样:
<div class="form-group"> <label class="control-label" for="id">id</label> <input class="form-control input-validation-error" type="number" data-val="true" data-val-required="The id field is required." id="id" name="id" value="sfsf" /> <span class="text-danger field-validation-error" data-valmsg-for="id" data-valmsg-replace="true">The value 'sfsf' is not valid.</span> </div>
模型:
/// <summary> /// id /// </summary> [Key] [Display(Name ="id")] public int id { get; set; }
错误提示:The value 'sfsf' is not valid. 这句在哪里修改?在模型中试了都不对啊。
你这个是类型错误,int类型明显是不能用字符串的。
MVC内部直接就帮您提示了,所以你找不到修改文字的位置。
如果你要自定义验证(Validation),搜索 ASP.NET MVC 验证可以找到这么一篇
建议提供一下相关代码
– dudu 6年前是让这里显示中文还是需要自己修改文字?
– dudu 6年前@dudu: 对,想自己修改提示文字。
– DZCMS 6年前