تغییر رنگ پس زمینه و حاشیه در Invalid Controls هنگام خاتمه Validation در Asp.net
با سلام در این مقاله توضیح خواهیم داد که چگونه پس زمینه و رنگ حاشیه کنترل های نامعتبر را هنگامی که اعتبار سنجی معتبر خاتمه می یابد، تغییر دهید.
برای شروع شما باید دو مورد زیر را به صفحه یا صفحه اصلی خود در صورتی که از صفحه Master استفاده می کنید اضافه کنید.
1. StyleSheet
یک کلاس CSS بسیار کوچک برای کنترل های نامعتبر ایجاد کرده ایم تا زمینه و رنگ های حاشیه آنها تغییر کند. به سادگی کلاس های CSS را در فایل CSS کلی خود قرار دهید یا آن را در قسمت < head > صفحه خود قرار دهید
<style type="text/css">
body
{
font-family:Arial;
font-size:10pt;
}
.ErrorControl
{
background-color: #FBE3E4;
border: solid 1px Red;
}
</style>
2. روش جاوا اسکریپت
برای تغییر رنگ کنترل های نامعتبر، ASP.Net WebForm_OnSubmit را که یک روش جاوا اسکریپت است، حذف خواهیم کرد. برای ساختن این روش، شما باید آن را در انتهای صفحه یا صفحه اصلی قرار دهید و فقط برچسب < body > را به انتهای </ body > بفرستید.
<script type="text/javascript">
function WebForm_OnSubmit() {
if (typeof (ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) {
for (var i in Page_Validators) {
try {
var control = document.getElementById(Page_Validators[i].controltovalidate);
if (!Page_Validators[i].isvalid) {
control.className = "ErrorControl";
} else {
control.className = "";
}
} catch (e) { }
}
return false;
}
return true;
}
</script>
این همه کارهایی است که شما باید انجام دهید . در حال حاضر همه اعتبار سنجی در برنامه وب شما به طور خودکار رنگ پس زمینه وحاشیه در کنترل های نامعتبر هنگامی که اعتبارسنجی نتواند را تغییر می دهد.
مثال ها
فیلد معتبر مورد نیاز
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="TextBox1"
runat="server" ErrorMessage="Required"></asp:RequiredFieldValidator>
اعتبار سنجی سفارشی
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Required"
ControlToValidate="TextBox2" ValidateEmptyText="true" ClientValidationFunction="Validate"></asp:CustomValidator>
<script type="text/javascript">
function Validate(sender, args) {
if (document.getElementById(sender.controltovalidate).value != "") {
args.IsValid = true;
} else {
args.IsValid = false;
}
}
</script>
عکس روی صفحه
