Đây là mô hình với đó là xác nhận:tài sản unrequired giữ lấy dữ liệu-val-cần thuộc tính
[MetadataType(typeof(TagValidation))]
public partial class Tag
{
}
public class TagValidation
{
[Editable(false)]
[HiddenInput(DisplayValue = false)]
public int TagId { get; set; }
[Required]
[StringLength(20)]
[DataType(DataType.Text)]
public string Name { get; set; }
//...
}
Sau đây là quan điểm:
<h2>Create</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Tag</legend>
<div>@Html.EditorForModel()</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
Và đây là của những gì có được renderd:
<form action="/Tag/Create" method="post">
<fieldset>
<legend>Tag</legend>
<div><input data-val="true" data-val-number="The field TagId must be a number." data-val-required="The TagId field is required." id="TagId" name="TagId" type="hidden" value="" />
<div class="editor-label"><label for="Name">Name</label></div>
<div class="editor-field"><input class="text-box single-line" data-val="true" data-val-length="The field Name must be a string with a maximum length of 20." data-val-length-max="20" data-val-required="The Name field is required." id="Name" name="Name" type="text" value="" /> <span class="field-validation-valid" data-valmsg-for="Name" data-valmsg-replace="true"></span></div>
...
</fieldset>
</form>
Vấn đề là việc xác thực TagId được tạo ra không phải là vấn đề quan trọng là không có thuộc tính Bắt buộc được đặt trên thuộc tính TagId. Do đó, tôi thậm chí không thể vượt qua xác thực phía máy khách để tạo Thẻ mới trong db. Tôi đang thiếu gì?
Đã lưu ngày của tôi !!! – kheya
Cảm ơn. Đã lưu cả ngày của tôi nữa. Theo tôi, đây là hành vi ngược. Sai phải là mặc định. – Anish
@frnnky Tôi đã thêm điều này nhưng nó không giải quyết [link] (http://stackoverflow.com/questions/14452344/remove-required-property) Biểu tượng của tôi. bạn sẽ giúp tôi nhé Cảm ơn bạn – Amol