Mam stronę, na której chcę rejestrować każdą wiadomość potwierdzającą, której użytkownik nie spełniał wymagań związanych z polem.Znajdź nieudane walidatory asp.net
Problem polega na tym, że moje odświeżenie strony/kliknięcie przycisku nigdy nie występuje (być może z powodu sprawdzania poprawności klienta), a zatem rejestrowanie nigdy nie ma miejsca, zanim użytkownik rzeczywiście uzyska prawo do każdego pola (brak błędów sprawdzania poprawności).
Sposób zdarzenia kliknięcia przycisku:
protected void btnNext_Click(object sender, EventArgs e)
{
Page.Validate();
if(Page.IsValid)
{
//code
}
else
{
foreach (IValidator validator in Validators)
{
if (!validator.IsValid)
{
PageValidatorErrors error = new PageValidatorErrors
{
WebsiteID = AppState.WebsiteID,
Page = Request.Url.AbsolutePath,
URL = Request.Url.ToString(),
UserIP = Tools.GetIP(),
ErrorMessage = validator.ErrorMessage,
CreatedDate = DateTime.Now
};
pageValidatorErrorsRep.insert(error);
}
}
}
}
Wszelkie pomysły, w jaki sposób mogę się zalogować theese wiadomości?
Edit:
<script type="text/javascript">
function validatePage()
{
if (window.Page_IsValid != true)
{
//Page_Validators is an array of validation controls in the page.
if (window.Page_Validators != undefined && window.Page_Validators != null)
{
//Looping through the whole validation collection.
for (var i = 0; i < window.Page_Validators.length; i++)
{
window.ValidatorEnable(window.Page_Validators[i]);
//if condition to check whether the validation was successfull or not.
if (!window.Page_Validators[i].isvalid)
{
var errMsg = window.Page_Validators[i].getAttribute('ErrorMessage');
alert(errMsg);
}
}
}
}
}
</script>
Och, widzę, prosicie jak podłączyć do klienta po stronie javascript, że walidatory asp.net emitują. – MatthewMartin
dziękuję za próbkę pętli walidatora, właśnie chciałem napisać to na własną rękę :) – rdmptn