#c# #jquery #asp.net-mvc #web-component #client-side-validation
Вопрос:
Я работаю над очень важным НАСЛЕДИЕМ ASP.NET Приложение MVC, использующее C#, которое создано в 2009 году. У них вообще нет никакой проверки на стороне клиента. Другими словами, они не используют механизм проверки, предусмотренный ASP.NET Фреймворк MVC в качестве следующей ссылки
Они используют сервис, интерфейс и т. Д…. Для проверки. Также не используются аннотации данных. В результате у них нет модульных тестов для валидатора моделей. Все правила проверки будут проверяться вручную только на стороне сервера, или модульные тесты сильно зависят Resource.resx
от других служб, которые я не считаю модульными тестами.
Поэтому я добавил проверку на стороне клиента и проверку на стороне сервера с помощью аннотаций данных.
К сожалению, мой пиар отклонен, потому что они сказали, что не хотят использовать или добавлять jQuery в текущее приложение.
Причина в том, что: «они хотят создавать портативные микро-интерфейсы, указывающие на API, а не на все охватывающие большие приложения, текущие приложения. из-за этого проверка jQuery находится на совершенно противоположном конце шкалы от нулевого компромисса. Это может быть сделано с помощью HTML5 и множества других библиотек JS только на стороне клиента.Существует множество лучших компромиссов. Другой конец шкалы (наш идеал) — проверка выполняется в инкапсулированном веб-компоненте, использующем угловые формы». (Ответ от разработчика переднего плана)
Проблема в том, что у нас пока нет плана замены этого устаревшего приложения, и я не вижу причины, по которой я не могу использовать механизм проверки от Microsoft для проверки как на стороне клиента, так и на стороне сервера. Я думаю, что лучше правильно выполнить проверку, чем допустить, чтобы она была плохой и скоро будет заменена веб-компонентом.
Основываясь на исходном коде, я не уверен, что они смогут применить надлежащий способ проверки в новой технологии, потому что с ASP.NET Приложение MVC, я думаю, что они неправильно применили его, или я не думаю, что они понимают структуру.
Есть идеи, почему я не должен использовать jQuery для проверки MS в устаревшем приложении?
Спасибо
Комментарии:
1. Похоже, об этом лучше было бы спросить на softwareengineering.stackexchange.com
2. » лучше правильно провести валидацию » — по вашему мнению. В этом проблема с такими терминами, как «лучше». Конечно, это дает лучший поток, но это неправильный способ. В общем: проверка на стороне сервера значительно более надежна/менее уязвима и т. Д., Поэтому, если вы собираетесь делать то или иное, то это должно быть на стороне сервера.
3. Почему бы не выполнить проверку на стороне клиента? можете ли вы объяснить мне, почему это неправильный путь? Конечно, я всегда выполняю проверку как на стороне клиента, так и на стороне сервера. Спасибо
4. Я бы сказал, что есть разница между использованием аннотаций данных и проверкой jquery. DataAnnotations является агностиком переднего плана, и для проверки вы можете использовать angular, пользовательский javascript, react, jquery/jquery.validate, kendo и т. Д. Аннотации просто добавляют дополнительные атрибуты данных, которые могут быть подобраны и использованы любым интерфейсом. Конечно, как только вы это сделаете, будет тривиально легко зайти в 3 библиотеки (jquery, jquery.validate, jquery.ненавязчивый) и легко выиграть. Даже без клиентской стороны вы получаете хорошо протестированную проверку на стороне сервера, так почему бы и нет?
5. @RobertMcKee вы правы. Я просто не знаю, почему я не могу использовать Jquery для проверки на стороне клиента. Как вы можете видеть, я использую аннотации данных так, как это подходит для моей проблемы, и это обеспечит проверку как на стороне клиента, так и на стороне сервера. Но мне нужен Jquery для проверки на стороне клиента. Я согласен, что могу легко найти другую библиотеку javascript для проверки на стороне клиента, но я не вижу причин, по которым я не могу использовать аннотации данных. Я не вижу никаких причин, по которым использование Jquery в нашем приложении повлияет на производительность. Спасибо