Auf einer ASP.NET MVC-Ansicht habe ich ein paar Kontrollkästchen, eine für E-Mail-Adresse und eine für Telefon. Ich möchte sicherstellen, dass mindestens eine aktiviert ist (beide können überprüft werden, so dass eine Optionsschaltfläche nicht ideal ist), und wenn keine sind, markieren Sie die Zeile mit einem roten Rahmen, genau wie eine Textbox mit der Validierungsfunktion ...ASP.NET MVC Datenvalidierung - Markieren Sie Tabellenzeile und TextBoxen
Ich habe andere Felder, die korrekt validiert werden und das CSS ändert sich, wenn es ein Problem in den Textfeldern und Textareas entsprechend gibt. Der folgende Code zeigt die Meldung den Benutzer zu informieren sie eine Kontaktpräferenz angeben müssen, aber nicht die Zeile markieren als ein Problem mit ...
SCREEN SHOT alt text http://i41.tinypic.com/2hcgfew.jpg
VIEW
<table width="100%">
<tr>
<td>
<label>
How would you like us to contact you?
</label>
</td>
</tr>
<tr id="pref_row">
<td>
<span class="bold-text">Email: </span>
<%=Html.CheckBox("EmailDesired")%>
<span class="bold-text">Phone: </span>
<%=Html.CheckBox("PhoneDesired")%>
</td>
</tr>
</table>
CONTROLLER
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(ContactUs contactus)
{
ContactUsService svc = new ContactUsService();
// Validation
if (!contactus.EmailDesired && !contactus.PhoneDesired)
ViewData.ModelState.AddModelError("pref_row", "Please specify a contact preference (phone and/or email)!");
if (ViewData.ModelState.IsValid)
{
MessageModel msg = svc.SendRequest(contactus);
return RedirectToAction("Index", msg);
}
else
{
return View();
}
}
Was ist mit einem Radio-Button? –
Daniel - Man muss überprüft werden, aber beide können auch überprüft werden. Radiobuttons sind normalerweise für A oder B, nicht sowohl A als auch B ... – RSolberg