Member 13992723 Ответов: 1

Я получаю сообщение проверки для поля textboxfor string перед нажатием кнопки submit, как это исправить?


Всем привет. Я работаю над приложением c# mvc. Я проверяю строковое свойство, как это требуется в ViewModel. Вот мой код из ViewModel:

[Требуется (ErrorMessage = "пожалуйста, введите номер.")]
[Регулярная экспрессия("^[0-9]*$", ErrorMessage = "пожалуйста, введите только номер, а не другой знак.")]
public string BoardNumber { get; set; }

Вот код из представления:

<table style="background-color:rgba(224, 95, 3, 0.18);border-radius:8px;" align="center">
        <tr>
            <td>
                BoardNumber:
                <p style="margin-left: 20px; margin-right:20px;">
                    @Html.TextBoxFor(x => x.BoardNumber, new { @class = "form-control" , @Value = "" }) <br />
                    @Html.ValidationMessageFor(x => x.BoardNumber, "", new { @class = "bg-warning" })
                    @Html.ValidationMessage("error", "", new { @class = "bg-warning" })
                </p>
            </td>
            <td>
                <p>
                    <input type="submit" style="margin-left: 20px; margin-right:20px; margin-top: 10px;" value="Submit" class="btn btn-primary orders-search-button">
                </p>
            </td>
        </tr>
    </table>


Проблема в том, что когда я перехожу к представлению, требуемое сообщение об ошибке отображается, даже если я не нажал кнопку Отправить, и я хочу, чтобы оно отображалось только в том случае, если я нажму кнопку Отправить и ничего не ввел. Как я должен это исправить?

Что я уже пробовал:

Я ничего не пробовал, потому что не знаю, что делать.

1 Ответов

Рейтинг:
7

summiya1

добавьте два различных метода для просмотра и публикации формы, например

public ActionResult CreateSomething()
{
возвращение смотреть();
}

[HttpPost]
public ActionResult CreateSomething(модели.Параметр Modelname Параметр Modelname)
{

}


Member 13992723

У меня уже есть методы get и post для veiw.

Member 13992723

Ваш ответ помог мне найти проблему. Проблема в том, что в моем методе get у меня есть ViewModel в качестве параметра, и именно поэтому я получаю сообщение об ошибке, не нажимая кнопку submit. Я удалил ViewModel из списка параметров, и все работает нормально. Спасибо за ответ.

summiya1

Отличное Счастливое Кодирование :)