JQuery 验证不适用于基础模型类 mvc net core 3 应用程序
JQuery validation not working for Base Model classs mvc net core 3 application
下面是我使用的 Baseclass 和 Userclass 模型,我还在 Base 和 Derived class 中添加了必需的注释。我在 asp.net 核心剃须刀视图页面中使用了此 class 并为此实施了 jquery-验证。
我可以看到仅针对派生 class 而不是基础 class 进行验证。我该如何解决这个问题?
public class BaseModel
{
[Required]
public string TicketNo { get; set; }
}
public class UserRoleModel : BaseModel
{
[Required]
public string UserID { get; set; }
[Required]
public string RoleName { get; set; }
[Required]
public string AddDeleteFlag { get; set; }
}
还有我的 cshtml 页面
<div class="form-group">
<label for="TicketNo">Ticket Number</label>
<input type="text" name="Employee" asp-for="TicketNo" autocomplete="off" class="form-control input-sm" placeholder="Ticket Number">
<span asp-validation-for="TicketNo" class="text-danger"></span>
</div>
<div class="form-group">
<label for="UserID">User ID</label>
<input type="text" name="UserID" asp-for="UserID" autocomplete="off" class="form-control input-sm" placeholder="User ID">
<span asp-validation-for="UserID" class="text-danger"></span>
</div>
<div class="form-group">
<label for="RoleName">Role Name</label>
<input type="text" name="RoleName" asp-for="RoleName" autocomplete="off" class="form-control input-sm" placeholder="Role Name">
<span asp-validation-for="RoleName" class="text-danger"></span>
</div>
<div>
<input type="submit" value="AddRole" asp-for="AddDeleteFlag" class="btn btn-primary btn-block">
<input type="submit" value="DeleteRole" asp-for="AddDeleteFlag" class="btn btn-primary btn-block">
</div>
我还添加了所需的 js 参考
<script src="~/lib/jquery-validate/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
现在仅针对派生 class 而不是基础 class !
进行验证
您为 TicketNo
属性 输入了错误的 name
,请将标记修改为以下内容:
<div class="form-group">
<label for="TicketNo">Ticket Number</label>
<input type="text" name="TicketNo" asp-for="TicketNo" autocomplete="off" class="form-control input-sm" placeholder="Ticket Number">
<span asp-validation-for="TicketNo" class="text-danger"></span>
</div>
下面是我使用的 Baseclass 和 Userclass 模型,我还在 Base 和 Derived class 中添加了必需的注释。我在 asp.net 核心剃须刀视图页面中使用了此 class 并为此实施了 jquery-验证。 我可以看到仅针对派生 class 而不是基础 class 进行验证。我该如何解决这个问题?
public class BaseModel
{
[Required]
public string TicketNo { get; set; }
}
public class UserRoleModel : BaseModel
{
[Required]
public string UserID { get; set; }
[Required]
public string RoleName { get; set; }
[Required]
public string AddDeleteFlag { get; set; }
}
还有我的 cshtml 页面
<div class="form-group">
<label for="TicketNo">Ticket Number</label>
<input type="text" name="Employee" asp-for="TicketNo" autocomplete="off" class="form-control input-sm" placeholder="Ticket Number">
<span asp-validation-for="TicketNo" class="text-danger"></span>
</div>
<div class="form-group">
<label for="UserID">User ID</label>
<input type="text" name="UserID" asp-for="UserID" autocomplete="off" class="form-control input-sm" placeholder="User ID">
<span asp-validation-for="UserID" class="text-danger"></span>
</div>
<div class="form-group">
<label for="RoleName">Role Name</label>
<input type="text" name="RoleName" asp-for="RoleName" autocomplete="off" class="form-control input-sm" placeholder="Role Name">
<span asp-validation-for="RoleName" class="text-danger"></span>
</div>
<div>
<input type="submit" value="AddRole" asp-for="AddDeleteFlag" class="btn btn-primary btn-block">
<input type="submit" value="DeleteRole" asp-for="AddDeleteFlag" class="btn btn-primary btn-block">
</div>
我还添加了所需的 js 参考
<script src="~/lib/jquery-validate/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
现在仅针对派生 class 而不是基础 class !
进行验证您为 TicketNo
属性 输入了错误的 name
,请将标记修改为以下内容:
<div class="form-group">
<label for="TicketNo">Ticket Number</label>
<input type="text" name="TicketNo" asp-for="TicketNo" autocomplete="off" class="form-control input-sm" placeholder="Ticket Number">
<span asp-validation-for="TicketNo" class="text-danger"></span>
</div>