У меня есть 6 или 7 текстовых полей, которые необходимо проверить, чтобы убедиться, что они не пусты от кода на стороне сервера. Итак, как я обычно это делаю, проверьте каждое текстовое поле 1 на 1, чтобы убедиться, что они не пусты. Существуют ли другие эффективные методы для этого? Я искал SO и обнаружил, что добавление всех текстовых полей в список и использование для каждого из них - намного лучший метод. Есть ли другие способы, которыми это может быть достигнуто? Thanx много заранее :)Эффективный/простой способ проверки пустых текстовых полей?
ответ
Просто проверьте их каждый по отдельности:
if (string.IsNullOrEmpty(this.NameTextBox.Text) ||
string.IsNullOrEmpty(this.AddressLine1TextBox.Text) ||
// etc...
)
{
// Handle me
}
Или возможно:
void CheckTextBox(TextBox textBox)
{
if (textBox == null)
{
throw new ArgumentNullException("textBox");
}
if (string.IsNullOrEmpty(textBox.Text))
{
// Handle me
}
}
void Validate()
{
CheckTextBox(this.FirstNameTextBox);
CheckTextBox(this.AddressLine1TextBox);
CheckTextBox(this.AddressLine2TextBox);
}
7 текстовых полей на самом деле не так уж много - явно проверяя каждый из них держит его просто убедитесь, что другие, читающие ваш код, знают, что происходит, тогда как возиться с коллекциями добавляет еще один слой косвенности и делает его чуть менее простым для отладки.
Держите это просто!
Да, я согласен с тем, что 7 текстовых полей не так уж и много, и это делает ваш код простым. Но если есть 15-20 текстовых полей, этот способ немного неуклюжим ... но еще раз 15-20 текстовых полей на одной странице плохой дизайн: S 'EDIT:' Ваше второе решение выглядит очень хорошо :) –
Я согласен с Kragen - ваш код может выглядеть «большим» из-за всех проверок, но вы действительно пишете именно то, что программа должна делать, чтобы проверить эти вещи, поэтому любой вид умного подхода, который уменьшает количество строк кода, которые вы пишете, на самом деле не ускоряет работу.
Вопрос: вам нужно проверить текстовое поле на сервере? Если вы только подтверждаете, что текстовое поле не пустое, я бы предложил использовать проверку на стороне клиента. Это сэкономит вам время сервера и пропускную способность, так как вашему пользователю не будет разрешено отправлять форму на ваш сервер, пока их браузер не подтвердит, что они не пусты.
Вы все равно хотите проверить на стороне сервера (в случае, если в браузере они не включены JavaScript, или они пытаются совершить какое-либо вредоносное поведение).
Собственный способ проверки на стороне клиента ASP.NET включает добавление тега проверки ASP.NET в ваш ASPX. На самом деле это довольно легко. Вот пример на MSDN: http://msdn.microsoft.com/en-us/library/aa479013.aspx#aspnet-validateaspnetservercontrols_topic3
я упростил свой код немного, чтобы соответствовать вашим требованиям:
<form runat="server">
<asp:TextBox id="TextBox1" runat="server" />
<asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Name is required!" ControlToValidate="TextBox1" />
<asp:TextBox id="TextBox2" runat="server" />
<asp:RequiredFieldValidator id="RequiredFieldValidator2" runat="server" ErrorMessage="Address is required!" ControlToValidate="TextBox2" />
<asp:Button id="Button1" onclick="Button1_Click" runat="server" Text="Button"></asp:Button>
</form>
Да ! Меня беспокоит только злоумышленник. Кроме моих RequiredFieldValidators, выполняющих свою работу безупречно :) –
- 1. Как найти количество пустых текстовых полей?
- 2. проверки первых нескольких текстовых полей
- 3. JQuery form submit для проверки пустых полей
- 4. метод проверки большой группы текстовых полей
- 5. проверки ввода для текстовых полей в HTML5
- 6. Проверка Jquery-проверки для двух текстовых полей
- 7. java Проверки для проверки наличия нескольких текстовых полей
- 8. Как подсчитать количество полей ввода пустых полей?
- 9. Создание проверки ошибок для нескольких полей текстовых полей vb2010
- 10. Валидатор для предотвращения пустых текстовых полей с TextMode = "Date"
- 11. с использованием jquery focus для пустых текстовых полей
- 12. FormView пытается вставить Null из пустых текстовых полей
- 13. Проверьте наличие пустых текстовых полей при использовании списков
- 14. Как начать с пустых текстовых полей при загрузке формы
- 15. WxPython - проверка пустых текстовых диалогов
- 16. Изменение значений текстовых полей на основе других текстовых полей;
- 17. Заполнение пустых полей
- 18. ISNULL эквивалент для пустых полей
- 19. ACF несколько пустых полей
- 20. Поиск пустых полей
- 21. MVC3 Проверка правильности текстовых полей
- 22. SQL-запрос для проверки даты, но игнорирование пустых полей
- 23. Как использовать регулярное выражение javascript для проверки «пустых» полей формы?
- 24. Проверка пустых полей в JavaFX
- 25. Добавление проверки текстового поля в несколько текстовых полей
- 26. Проверка нескольких пустых полей в форме
- 27. asp.net проверка нескольких текстовых полей
- 28. JQuery - нумерация текстовых полей
- 29. Проверка пустых полей и кнопка отключения
- 30. Восстановление текстовых полей браузера
почему вы не можете попробовать с RequiredFieldValidator – anishMarokey
RequiredFieldValidators используются также в стороне клиента кода. Дело в том, что JavaScript можно легко отключить, и я решил также выполнить проверку на стороне сервера. –