这里是I have been following the documentation和here,但是验证属性似乎不起作用。我的RModel中有以下内容:
[RegularExpression(@"^[A-Z]+[a-zA-Z'\s]*$")]
[Required]
[StringLength(10)]
public string FirstName { get; set; }
[Required]
[EmailAddress]
public string Email { get; set; }在我看来是这样的:
@using (Html.BeginForm("Index", "RHome", FormMethod.Post))
{
<div class="field form-group col-sm-4">
<input type="text" id="FirstName" placeholder=" ">
<label for="FirstName">First Name</label>
<span asp-validation-for="RModel.FirstName"></span>
</div>
<div class="field form-group col-sm-8">
<input id="Email" placeholder=" ">
<label for="Email">Email</label>
<span asp-validation-for="RModel.Email"></span>
</div>
. . .
}我正在使用ViewModel加载多个模型。其他模型与RModel非常相似。我不知道这是否会产生任何影响,但我认为可能会。
public class ViewModelR
{
public RModel RModel { get; set; }
public KnowledgeModel KnowledgeModel { get; set; }
}我只想有服务器和客户端的验证,以防止注入和错误的输入和东西。我该怎么做呢?
更新:我添加了我的视图,现在当我单击提交而没有填写任何一个输入时,我似乎得到了一条暗示[required]正在工作的消息。
The Email: field is required.
The First Name: field is required.这很好,但是我需要让所有其他的验证工作,这样我才能防止坏值?
发布于 2020-05-01 22:03:34
我建议您对视图中的每个输入html元素都使用验证消息scafolding。
@Html.ValidationMessageFor(model => model.RHome.FirstName, "", new { @class = "text-danger" })我希望,你已经在你的视图中添加了至少下面的js。
jquery.validate.unobtrusive.jshttps://stackoverflow.com/questions/61543700
复制相似问题