views:

37

answers:

1

I have a view model that has a property that looks like this

Property SelectedGroups() as List(of string)

In the view I have something like this

<table>
    <tr>
        <th>Description</th>
    </tr>
    <tr>
        <td>
            <input type="hidden" name="SelectedGroups" value="one" />
            description one
        </td>
    </tr>
    <tr>
        <td>
            <input type="hidden" name="SelectedGroups" value="two" />
            description two
        </td>
    </tr>
    <tr>
        <td>
            <input type="hidden" name="SelectedGroups" value="three" />
            description three
        </td>
    </tr>
</table>

The table rows are added and removed with jquery. Is there a way to create a validation attribute on SelectedGroups property that will require a minimum number of items for the list? This can be done with javascript but I would like it to work with

<% Html.EnableClientValidation()%>
<%: Html.ValidationSummary(False)%>
+1  A: 

You would have to write a custom validator. The built-in validators aren't that sophisticated.

ScottGu has written a good article on custom validators: http://weblogs.asp.net/scottgu/archive/2010/01/15/asp-net-mvc-2-model-validation.aspx

Dave Swersky