Какая библиотека проверки для ASP.NET MVC?

Несколько мыслей достойных рассмотрения здесь;

  • По часовой стрелке только значимо относительно источника. Я был бы склонен думать об источнике как о центре тяжести ряда точек. например, По часовой стрелке относительно точки в среднем положении четырех точек, а не возможно очень удаленного источника.

  • , Если у Вас есть четыре точки, a, b, c, d, там существует несколько по часовой стрелке упорядочивания тех точек вокруг Вашего источника. Например, если (a, b, c, d) сформировал по часовой стрелке упорядочивание, так был бы (b, c, d, a), (c, d, a, b) и (d, a, b, c)

  • , Ваши четыре точки уже формируют полигон? Если так, это - вопрос проверки и инвертирования обмотки вместо того, чтобы сортировать точки, например, a, b, c, d становится d, c, b, a. В противном случае я отсортировал бы на основе переноса соединения между каждой точкой и источником согласно ответу Клиньев.

Редактирование: относительно Ваших комментариев, который указывает на подкачку;

В случае треугольника (a, b, c), мы можем сказать, что это по часовой стрелке, если третья точка c, имеет на правой стороне строку ab. Я использую следующую функцию стороны для определения этого на основе координат точки;

int side(double x1,double y1,double x2,double y2,double px,double py)
{
 double dx1,dx2,dy1,dy2;
 double o;

 dx1 = x2 - x1;
 dy1 = y2 - y1;
 dx2 = px - x1;
 dy2 = py - y1;
 o = (dx1*dy2)-(dy1*dx2);
 if (o > 0.0) return(LEFT_SIDE);
 if (o < 0.0) return(RIGHT_SIDE);
 return(COLINEAR);
}

, Если у меня есть четыре точки выпуклый полигон, (a, b, c, d), я могу рассмотреть это как два треугольника, (a, b, c) и (c, d, a). Если (a, b, c) против часовой стрелки, я изменяю обмотку (a, b, c, d) к (a, d, c, b) для изменения обмотки полигона в целом к по часовой стрелке.

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

11
задан UpTheCreek 12 October 2009 в 10:33
поделиться

4 ответа

Я использовал FluentValidation вместе с плагином проверки jQuery , но все еще не могу найти ситуацию, с которой они не справятся.

10
ответ дан 3 December 2019 в 07:13
поделиться

Мне нравится xVal .

С его помощью вы можете очень легко реализовать проверку клиента и сервера. Также есть поддержка проверки столбцов (свойств) для сущностей, которые вы хотите использовать.

5
ответ дан 3 December 2019 в 07:13
поделиться

DataAnnotations , реализованные приятельскими классами и Проверка клиента JQuery

Убедитесь, что вы используете MVC Preview 2

1
ответ дан 3 December 2019 в 07:13
поделиться

Возможно, вас заинтересует подход делегирования . Я был потому, что мне не нравилась идея xVal (решение, которое я сейчас использую) и тот факт, что она, похоже, не обслуживала сложные случаи проверки, которые пересекали несколько свойств одной и той же или даже разных структур классов.

1
ответ дан 3 December 2019 в 07:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: