Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Knockout + mvc 3 + Validation

In the controller I would like to be able to get to the client validation rules of the model. I've attached some attributes using data annotations and would like to be able to pass something back to the client via the ajax call so I can then build the jquery validate options automatically.

Normally this is done for free with the unobtrusive stuff, but I'm trying to leverage knockout binding, while still not having to replicate the validation rules on both the server and client.

Without using reflection on the model server side I'm a little unsure on how to achieve this.

like image 738
RubbleFord Avatar asked Apr 21 '11 08:04

RubbleFord


1 Answers

In my Mvc Controls Toolkit I developed Helpers based on the knockout library. These helpers not only help in writing the knockout code, but enhance the knockout library with Unobtrusive validation and globalization. Moreover, the binding mechanism is enhanced to include complex controls such as a DatetimePicker, and other "complex" (made by different html parts) controls.

Finally, knockout templates can be defined through Razor helpers.

See the documentation here, here, here and here. I also have some tutorials that show how to implement advanced features with my helpers:

Low BandWidth Transfers with The Client Side Templates of the Mvc Controls Toolkit

Handling Big Amounts of Data with Client-Side Templates

Handling Big Amounts of Data with Client-Side Templates 2

like image 186
Francesco Abbruzzese Avatar answered Oct 09 '22 10:10

Francesco Abbruzzese