По какой-то причине я не могу получить Url.Action для запуска проверки на стороне клиента в MVC 2. Я настроил его так:
<div class="createpage"><a href="<%= Url.Action("Create","Account") %>"></a></div>
Где «Создать» - это действие, а «Домой» - контроллер (AccountController.cs). Если я вставлю обычную кнопку отправки, проверка работает просто отлично. У меня проверка настроена примерно так
<% using (Html.BeginForm())
{%>
<%= Html.ValidationSummaryJQuery(
"Please fix the following errors.",
new Dictionary<string, object> { { "id", "valSumContainer" /* This is important. You can change the "id" attribute value, but don't remove it */ } }) %>
<% ViewContext.FormContext.ValidationSummaryId = "valSumContainer"; { %>
//Form here
<%}%>
Проверка настроена с здесь
RegistrationModel.cs, от которого я получаю сообщения о проверке, выглядит так
[PropertiesMustMatch("Password", "ConfirmPassword", ErrorMessage = "The password and confirmation password do not match.")]
public class RegistrationModel
{
[Required(ErrorMessage = "Username is required")]
[StringLength(25, ErrorMessage = "Username cannot be longer than 25 characters")]
public string Username { get; set; }
public string Password { get; set; }
public string ConfirmPassword { get; set; }
public AccountType AccountType { get; set; }
[Required(ErrorMessage = "Studio Name is required.")]
public string StudioName { get; set; }
[Required(ErrorMessage = "Phone number is required")]
[PhoneNumber(ErrorMessage="Not a valid phone number")]
public string PhoneNumber { get; set; }
[Required(ErrorMessage = "Email address is required")]
[Email(ErrorMessage = "Not a valid email address")]
public string EmailAddress { get; set; }
[Required(ErrorMessage = "City is required")]
public string City { get; set; }
[UIHint("StatesDropDown")]
[Required(ErrorMessage="State is required")]
public string State { get; set; }
[Required(ErrorMessage = "Zip code is required")]
[StringLength(10, ErrorMessage = "Zip code canot be longer than 10 digits")]
[ZipCode(ErrorMessage="Invalid zip code")]
public string ZipCode { get; set; }
[Required(ErrorMessage = "About text is required")]
public string AboutText { get; set; }
[Required(ErrorMessage = "Starting price is required")]
[Currency(ErrorMessage="Not a valid currency value")]
public double PriceStartsAt { get; set; }
[UIHint("SkillsListView")]
[Required(ErrorMessage="At least 1 skill must be selected")]
public IList<Skill> Skills { get; set; }
[UIHint("EquipmentListView")]
[Required(ErrorMessage = "At least 1 equipment must be selected")]
public IList<Skill> Equipment { get; set; }
[UIHint("OccassionsListView")]
[Required(ErrorMessage = "At least 1 occassion must be selected")]
public IList<Skill> Occassions { get; set; }
}
Как я уже сказал, с обычной кнопкой отправки она работает просто отлично (но клиенту нужен их пользовательский интерфейс, поэтому кнопки должны использовать определенные спрайты изображений с CSS.
РЕДАКТИРОВАТЬ : поставить HomeController вместо AccountController , фиксированный