On Github magnuf / FRP-.NET-MVC
BEKK Trondheim minikonferanse 6/12/13
Magnus Sellereite Fjell
public string Navn { get; set; }
[Required(ErrorMessage = "Adresse mangler")] public string Adresse { get; set; }
[Required(ErrorMessage = "Postnummer mangler")] [RegularExpression("^\\d{4}$", ErrorMessage = "Sikker på at dette er rett postnummer?")] public string Postnummer { get; set; }
[Required(ErrorMessage = "Poststed mangler")] [RegularExpression("^[A-Za-zÆØÅæøå\\s]+$", ErrorMessage = "Tror det er noe feil med poststedet du har oppgitt")] public string Poststed { get; set; }
<input id="Navn">
<input id="Adresse" data-val-required="Adresse mangler">
<input id="Postnummer" data-val-regex="Sikker på at dette er rett postnummer?" data-val-regex-pattern="^\d{4}$" data-val-required="Postnummer mangler">
<input id="Poststed" data-val-regex="Tror det er noe feil med poststedet du har oppgitt" data-val-regex-pattern="^[A-Za-zÆØÅæøå\s]+$" data-val-required="Poststed mangler">
var requiredText = input.attr("data-val-required"); var regex = input.attr("data-val-regex-pattern"); var regexText = input.attr("data-val-regex");
function(value) { if(requiredText){ return !!value } return true; }
function(value) { if(!value) return true; if(!pattern) return true; return new RegExp(pattern, "i").test(value); };
var property = DoBaconMagic(input);
var boolvalid = property.map(requiredFunc); var regexvalid = property.map(regexFunc(regex));
boolvalid.assign($("#"+input[0].id + "_feil_required"), "toggleClass", "skjult");
boolvalid.not().or(regexvalid) .assign($("#"+input[0].id + "_feil_regex"), "toggleClass", "skjult");
validFunksjoner.push(boolvalid); validFunksjoner.push(regexvalid);
var allValid = settSammenValidates(validFuncs); allValid.not().assign($("input[type=submit]"), "attr", "disabled");
[OldEnough(ErrorMessage = "Innflytter må være minst 16 år gammel")] public DateTime InnflytterFodselsdato { get; set; }
var d = Convert.ToDateTime(value); return d <= MaxDate;
var rule = new ModelClientValidationRule { ValidationType = "oldenough", ErrorMessage = ErrorMessage }; rule.ValidationParameters["maxdate"] = MaxDate.TilNorskDato();
function(value) { if(!value) return true; if(!maksdato) return true; f(!moment(value, "DD-MM-YYYY").isValid()) return true; return moment(maksdato, "DD-MM-YYYY").isAfter(moment(value)); };