2013-03-15 5 views
1

의 유효성을 검사하지 않습니다 (간체)ASP.NET MVC 면도기 양식이 같은 모델을 가지고

public class User 
{ 
    [Required] 
    public string UserName { get; set; } 

    // Other fields 
} 
다음과 같습니다 녹아웃 viewModel

MVC 면도기보기 :

@using (Html.BeginForm("MyAction", FormMethod.Post, new { id = "profileEditorForm" })) 
{ 
    @Html.ValidationSummary(false) 

    @Html.LabelFor(n => n.UserName) 
    @Html.TextBoxFor(n => n.UserName, new { data_bind = "value: UserName" }) 
    @Html.ValidationMessageFor(n => n.UserName) 

    @* Other fields *@  

    <p> 
    <input type="submit" value="Save" alt="" title="" /> 
    <a href="/">Cancel</a> 
    </p> 
} 


<script type="text/javascript"> 

    $(function() { 
    var vm = new viewModel(@(Html.Raw(Json.Encode(@Model)))); 
    ko.applyBindings(vm); 

    $("#profileEditorForm").validate({ 
     submitHandler: function(form) { 
     alert('Validating ' + ko.toJSON(vm)); 
     if (vm.save) 
      window.location.href = "/"; 
     return false; 
     } 
    }); 
    }); 

    var viewModel = function(model) { 
    var self = this; 
    self.UserName = ko.observable(model.UserName); 
    // Other fields 

    self.save = function() { 
     alert('Saving ' + ko.toJSON(self)); 
    } 
    }; 
}; 
</script> 

I 유효성 검사 함수 (경고 삽입이 나타남)를 거친 후에도 클라이언트 측 유효성 검사를 수행하고 유효하지 않은 MVC 작업으로 다시 저장 및 보냅니다.

이 양식에서 클라이언트 측 유효성 검사 (web.confir에서 활성화 됨)를 활성화하는 방법을 알려주십시오.

도움이 높게 평가? 그것은 모든 바인딩이 완벽하게 잘 작동하고 있지만 그 (하루 유적 녹아웃? 아니면 내가보고 있어요 뭔가 및 표시되지 않습니다가요!

답변

2

검증 녹아웃 ​​작동하지 않습니다 .. 바인딩은 ....

당신은 빠른 방법은 녹아웃 검증 플러그인을 사용하고 있습니다. 클라이언트 측에서 유효성 검사를 복제 할 필요가 있지만, 많은 데이터를 가지고 때 속도가 느립니다

https://github.com/ericmbarnard/Knockout-Validation

아니면 그냥 jquery 유효성 검사를 사용할 수 있습니다.

0

모델 검증은 녹아웃 검증

knockoutValidation.js 파일을 다운로드하여 사용해야합니다 바인딩 녹아웃을 작동하지 않습니다

예 : KnockoutJS에서

검증 사용자 이름

var self = this; 

self.UserName = ko.observable(UserName).extend({ 
    required: { 
     message:"Please enter User Name" 
    } 
}); 
관련 문제