mia classe del modello ha una proprietà bool senza un attributo richiesto:EditorFor/CheckBoxFor booleano aggiunge attributo data-val-richiesta per HTML senza attributo richiesto che viene aggiunto per modellare
public class Test
{
public bool TestBool1 { get; set; }
}
Poi a mio avviso rasoio sto usando EditorFor (stessa cosa accade con CheckBoxFor pure):
<div>
@Html.LabelFor(m => m.TestBool1)
@Html.EditorFor(m => m.TestBool1)
</div>
il risultato è il seguente codice HTML:
<div>
<label for="TestBool1">TestBool1</label>
<input class="check-box" data-val="true" data-val-required="The TestBool1 field is required." id="TestBool1" name="TestBool1" type="checkbox" value="true">
<input name="TestBool1" type="hidden" value="false">
</div>
Da dove proviene l'attributo html data-val-required?
C'è un modo per impedirlo senza usare @Html.CheckBox("TestBool1", Model.TestBool1)
e impostare il tipo su bool?
?
Sono quasi sicuro che proviene dal fatto che un 'bool' deve avere un valore reale. Sarei disposto a scommettere se fosse un 'bool?' Non renderebbe l'attributo 'data-val-required'. –
@MichaelPerrenoud Cambiandolo a 'bool?' Richiesto un nuovo EditorTemplate per usare EditorFor (CheckBoxFor non funziona affatto) in modo che venga creata una casella di controllo invece di un elenco a discesa. –