2014-07-25 9 views
1

jquery 원격 유효성 검사는 입력 필드 이름 (mymodel.field1)의 접두어를 data-val-remote-additionalfields에 나열된 각 추가 필드에 추가합니다. 추가 필드에는 모델의 일부가 아닌 숨겨진 필드가 있으므로 "mymodel.fieldhidden"대신 "fieldhidden"과 같은 일반 이름이 있습니다.MVC 원격 속성 추가 필드

컨트롤러에서 요청 개체를 검토하여이를 확인하고 쿼리 문자열 키 중 하나가 "fieldhidden"대신 "mymodel.fieldhidden"이고 데이터가 null임을 확인했습니다. jquery 유효성 검사가 "mymodel.fieldhidden"을 찾고 물론 찾을 수 없기 때문에 확실히 null입니다.

jquery, mvc 속성을 통해 자동 접두사가 아니거나 jquery 조작을 통해 이름 속성이 원격 유효성 검사가 추가되는 "model.fieldname"과 같은 형식의 값을 갖는 추가 필드에 자동 접두사가 붙지 않습니까?

+0

당신은 당신의 모델 코드를 추가 할 수 있습니다 다음과 같이

나는 다음 접두사로 바인드 매개 변수 속성을 사용? – pollirrata

+0

문제의 필드를 추가했습니다. 감사합니다! – Csharpfunbag

답변

2

결국 숨겨진 필드를 두 번 추가해야했습니다. 나는 이미 이름을 기대하는 컨트롤러의 여러 액션에 대한 일반적인 설정을했다. 따라서 jquery 유효성 검사 라이브러리에서 예상 한 명명 규칙을 사용하여 숨겨진 필드를 추가하면 쿼리 문자열의 일부로 전송됩니다. 이름 지정 규 "은 id 속성의 경우 Model_Field이고 name 속성의 경우 Model.Field입니다. 원격 유효성 검사를 추가 할 경우

[Bind(Prefix = "Model.FieldToRemotevalidate")] string FieldToRemoteValidate 
+0

이상한 부분은 접두어 속성 오버로드에 전체 이름 속성을 지정해야한다는 것이 었습니다. 여기서 읽은 모든 기사는 접두어가 점 앞에 표시 될 것이라고 명시했습니다. 희망이 다른 사람을 도울 수 있습니다. – Csharpfunbag