Многоразовая дистанционная проверка MVC 3 с поиском в БД
У меня есть приложение MVC 3, у меня есть много целочисленных полей в форме. Все они требуют проверки диапазона, но диапазоны существуют в таблице в моей базе данных. Поэтому я хотел бы создать повторно используемый инструмент удаленной проверки, который будет искать минимальное и максимальное значения и возвращать проверку в представление.
Я обновляю это с помощью некоторого примера кода того, что я хотел бы сделать, чтобы мой запрос мог уточнить, что я ищу:
В моем классе проверки:
[Remote("CheckIntegerRange", "Validation", ErrorMessage = "Value outside of range")]
public object UW1_Web_Tension_SP { get; set; }
[Remote("CheckIntegerRange", "Validation", ErrorMessage = "Value outside of range")]
public object UW2_Web_Tension_SP { get; set; }
[Remote("CheckIntegerRange", "Validation", ErrorMessage = "Value outside of range")]
public object UW3_Web_Tension_SP { get; set; }
В моем ValidationController я пытался создать функцию с несколькими параметрами, но я не думаю, что смогу - однако я думаю, что это показывает, что я пытаюсь сделать более четко:
public class ValidationController : Controller
{
public JsonResult CheckIntegerRange(int integer, string EntityName, string AttributeName)
{
var result = false;
int MinInteger = 0;
int MaxInteger = 100;
//declare recipe entities
var context = new MadicoRecipeEntities();
//set sql statements and get description, etc from attributes view
var esqlIntegerAttributeDetails = "SELECT VALUE c FROM MadicoRecipeEntities.v_AttributeIntegerRangeDetails AS c " +
"WHERE c.EntityName = '" + EntityName + "' AND c.Attribute = '" + AttributeName + "'";
var queryAttributeDetails = context.CreateQuery<v_AttributeIntegerRangeDetails>(esqlIntegerAttributeDetails);
var RecipeAttributes = queryAttributeDetails.ToList();
foreach (var AttributeDetails in RecipeAttributes)
{
MinInteger = AttributeDetails.Min;
MaxInteger = AttributeDetails.Max;
}
return Json(result, JsonRequestBehavior.AllowGet);
}
}
Я нашел следующий пост на форумах asp.net, который обработал мое первое препятствие - передача разных именованных атрибутов одному и тому же валидатору. Тем не менее, в этом примере имя передается в общем - мне нужно иметь имя для запроса таблицы, чтобы получить применимые минимальные и максимальные диапазоны.
http://forums.asp.net/t/1625928.aspx/3/10
Может кто-то указать мне верное направление?
Спасибо!