ASP.NET MVC3 Razor에서 "jQuery Validate Unobtrusive"를 사용하고 있습니다.jQuery Validate TextArea에 방해가되지 않습니다.
나는이처럼 "설명"양식 페이지가 있습니다
모델
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; }
}
양식이 제출보기
@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>
}
그러나, Name
및 Email
만 유효성 검사 오류를 반환합니다. Message
도해야한다 :
그때 검증이 제대로 작동 TextBoxFor
에 TextAreaFor
에서 Message
를 변경하는 경우.
왜 그런가요? 텍스트 상자에서 유효성 검사를 수행하려면 어떻게해야합니까?
그것은 또한 내가이 양식에 대한 특정 jQuery를 쓸 수 없었습니다 주목할 수 있습니다. 나는 이것이 MVC3에 의해 모두 다뤄질 때 필요하지 않다고 설명하는 튜토리얼을 따랐다.
컨트롤러 코드를 포함 할 수 있습니까? 또한 레이아웃이나보기에 jquery.validate와 jquery.validate.unobtrusive를 모두 포함 했습니까? –
@ ron.defreitas 어떤 컨트롤러 방식입니까? 분명히'HttpPost' 메쏘드는 클라이언트 쪽 유효성 검사가 그것을 막고 있기 때문에 도달하지 못하기 때문에 관련이 없습니다. 레이아웃 파일을 확인했는데'jquery-1.5.1.min.js','jquery.validate.min.js' 및'jquery.validate.unobtrusive.js'를 포함 시켰습니다. – Curt
양식의 렌더링 된 원본을보고 데이터 유효성 속성이 나머지 필드와 마찬가지로 텍스트 영역에 추가되었는지 확인할 수 있습니까? 백엔드가 입력란에 입력 내용이 있다고 생각하는지 확인하기 위해 양식 POST를 단계별로 실행 해 보았습니까? –