Адрес электронной почты обязателен
несмотря на то, что он помечен как нулевой, и несмотря на то, что различные объекты с теми же значениями остаются пустыми. Редактирование существующего объекта дает тот же результат.
Я почти уверен, что это как-то связано с тем, что сами страницы используют для проверки ввода другую метрику, отличную от той, которую я установил для базы данных, и это то, что установлено для каждого поля ввода:
Код: Выделить всё
Email address:@*Testing possible solutions*@
РЕДАКТИРОВАТЬ: Хорошо, извините за недостаточно подробное описание. Перестроен с самого начала, и на этот раз он работает правильно, устанавливая правила для столбцов с шага 1:
Теперь он принимает входные данные в форме электронной почты, включая нулевые значения.
Ошибка была вызвана редактированием базы данных, а не просто ее восстановлением с правильными правилами. Проще говоря, формы «Телефон» и «Электронная почта» на страницах Razor были помечены как обязательные, несмотря на то, что они не были помечены как требуемые самими правилами БД.
Я предполагаю, что при втором просмотре причиной этого стали сценарии частичной проверки, дело в том, что я не настолько разбираюсь, как хотелось бы, в изучении структур сущностей и оттачиваю свои навыки работы с C #, и в результате я не смог найти, как это исправить, кроме как начать заново или где validationscriptspartial будет найден.
У меня аналогичная проблема с функциями поиска, но я знаю источник проблемы, но не знаю, как заставить ее работать. У меня есть строковая переменная SearchTerm для хранения поискового запроса, но при печати она всегда возвращается как пустая, вероятно, проблема с применением данных формы к строковой переменной.
Это страница поиска:
Код: Выделить всё
@{
ViewData["Title"] = "Create";
}
Create
[h4]Staff[/h4]
Back to List
@section Scripts {
@{await Html.RenderPartialAsync("_ValidationScriptsPartial");}
}
Код: Выделить всё
public async Task SearchStaff()
{
return View();
}
// PoST: Search STILL NEEDS WORK STRING NULL
public async Task SearchResults (String SearchQuery)
{
Console.WriteLine("Query is " + SearchQuery);
return View("Index", await _context.Staff.Where(s => s.FirstName.Contains(SearchQuery) | s.LastName.Contains(SearchQuery) | s.Email.Contains(SearchQuery) | s.Telephone.Contains(SearchQuery)).ToListAsync());
}
Подробнее здесь: https://stackoverflow.com/questions/797 ... -framework
Мобильная версия