2011-03-03 7 views
0

ajax 게시물은 양식 제출시 일반적인 유효성 검증을 지원합니까?ajax 양식 양식 및 유효성 확인

은 어디서부터 시작 난 정말 모르는 일이 일어나고 많은 잘못된 일이 있습니다

@using(Html.BeginForm(new {id=FormTest})){ 
    @Hml.ValidationSummary() 
<input type="button" value= Save> 
    } 

<script type="javascript"> 
$("#Save").click(function(){ 
$("#FormTest").submit(); 

}); 
</script> 
+0

예 확인을 지원합니다. –

+0

오류 메시지가 표시됩니까? – learning

+0

클라이언트 측 유효성 검사가 활성화 되었습니까? –

답변

1

@using(Html.BeginForm()){ 
@Hml.ValidationSummary() 

<input type="submit" value ="Save"> 
} 

동일합니다.

  1. 귀하의 Html.BeginForm 정의는 잘못된 것입니다 : 당신이 htmlAttributesrouteValues을 혼동하고 있습니다.

  2. 이 ID를 가지고 있지 않습니다 버튼 그래서 당신의 자바 스크립트 선택은 대부분의 아마 간단한 <input type="submit"> 버튼은 상자 밖으로 않기 때문에 그 모든 노력이 필요하지 않습니다

  3. 실패 솔루션

    은 아래를 참조하십시오.

지금 어떻게 든 당신이 자바 스크립트의 팬 있다고 가정 할 수 있습니다 당신은 (당신이 어쨌든 코드 만을 작성하려는 이유를 모르겠다)를 작성합니다. 그래서 양식 정의 고정하여 시작합니다

@using(Html.BeginForm("someAction", "someController", FormMethod.Post, new { id = "FormTest" }))  
{ 
    @Html.ValidationSummary() 
    @Html.TextBoxFor(x => x.Foo) 

    <input type="button" value="Save" id="Save" /> 
} 

을 다음이가 할 수있는 :

<script src="@Url.Content("~/Scripts/jquery.validate.js")" type="text/javascript"></script> 
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.js")" type="text/javascript"></script> 
:

분명히
$('#Save').click(function() { 
    var form = $('#FormTest'); 
    if (form.valid()) { 
     form.submit(); 
    } 
}); 

클라이언트 스크립트가 제대로 페이지에 포함되어 있는지 확인해야합니다

그리고 물론 내가 추천하는 실제 해결책은 양식 제출에 제출 버튼을 사용하는 것입니다.

@using(Html.BeginForm("someAction", "someController", FormMethod.Post, new { id = "FormTest" }))  
{ 
    @Html.ValidationSummary() 
    @Html.TextBoxFor(x => x.Foo) 

    <input type="submit" value="Save" id="Save" /> 
} 

지금 당신이 어떤 자바 스크립트가 필요하지 않습니다 (분명히 당신은 여전히 ​​눈에 거슬리지 검증을 위해 두 개의 스크립트 흠이 필요합니다).