Tôi đang sử dụng "jQuery Validate Unobtrusive" với ASP.NET MVC3 Razor.jQuery Validate Unobtrusive không hoạt động đối với TextArea
Tôi có một trang với một "Ý kiến" hình thức, như thế này:
Mẫu
public class CommentModel
{
[Required]
public string Name { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[DataType(DataType.Url)]
[Display(Name = "Website URL")]
public string WebsiteUrl { get; set; }
[Required]
public string Message { get; set; }
}
Xem
@using (Html.BeginForm("AddComment", "Blog", new { @articleID = article.ID }))
{
<p>
@Html.LabelFor(m => m.commentModel.Name)
@Html.TextBoxFor(m => m.commentModel.Name)
@Html.ValidationMessageFor(m => m.commentModel.Name)
</p>
<p>
@Html.LabelFor(m => m.commentModel.Email)
@Html.TextBoxFor(m => m.commentModel.Email)
@Html.ValidationMessageFor(m => m.commentModel.Email)
</p>
<p>
@Html.LabelFor(m => m.commentModel.WebsiteUrl)
@Html.TextBoxFor(m => m.commentModel.WebsiteUrl)
@Html.ValidationMessageFor(m => m.commentModel.WebsiteUrl)
</p>
<p>
@Html.LabelFor(m => m.commentModel.Message)
@Html.TextAreaFor(m => m.commentModel.Message)
@Html.ValidationMessageFor(m => m.commentModel.Message)
</p>
<p>
<input type="submit" value="Submit Comment" />
</p>
}
Tuy nhiên, khi các mẫu được gửi, chỉ Name
và Email
trả lại lỗi xác thực khi Message
nên quá:
Nếu tôi thay đổi Message
TextAreaFor
-TextBoxFor
, sau đó xác nhận hoạt động chính xác.
Tại sao điều này và làm cách nào để xác thực hoạt động trên hộp văn bản của tôi?
Cũng cần lưu ý là tôi không phải viết bất kỳ jQuery cụ thể nào cho biểu mẫu này. Tôi đã làm theo một hướng dẫn mà giải thích điều này là không cần thiết như tất cả của nó xử lý bởi MVC3.
Bạn có thể bao gồm mã Bộ điều khiển của mình không? Ngoài ra, bạn có bao gồm cả jquery.validate và jquery.validate.unobtrusive trong bố cục hoặc chế độ xem của mình không? –
@ ron.defreitas Phương pháp điều khiển nào? Chắc chắn phương thức 'HttpPost' sẽ không có liên quan bởi vì điều này không đạt được vì việc xác thực phía máy khách đang ngăn cản nó? Tôi đã kiểm tra tệp Layout của mình, tôi đã bao gồm: 'jquery-1.5.1.min.js',' jquery.validate.min.js' & 'jquery.validate.unobtrusive.js'. – Curt
Bạn có thể xem nguồn được hiển thị của biểu mẫu và đảm bảo rằng thuộc tính xác thực dữ liệu đã được thêm vào vùng văn bản như phần còn lại của các trường không? Bạn đã thử bước qua POST của biểu mẫu của bạn để xem phụ trợ cho rằng có đầu vào trong hộp không? –