Skip to content

Instantly share code, notes, and snippets.

@thecodejunkie
Created November 6, 2013 20:58
Show Gist options
  • Save thecodejunkie/7343963 to your computer and use it in GitHub Desktop.
Save thecodejunkie/7343963 to your computer and use it in GitHub Desktop.
Changing the way that ModelValidatorDecriptor returns rule information. It is now grouped per model property and it also includes the type name of the model the rules are associated with
{
"ModelType":"Nancy.Demo.Validation.Models.Product",
"Rules":{
"Name":[
{
"MemberNames":[
"Name"
],
"RuleType":"NotEmpty"
},
{
"MinLength":1,
"MaxLength":10,
"MemberNames":[
"Name"
],
"RuleType":"StringLength"
},
{
"MemberNames":[
"Name"
],
"RuleType":"OddLengthString"
},
{
"Pattern":"[A-Z]*",
"MemberNames":[
"Name"
],
"RuleType":"Regex"
},
{
"Pattern":"^(?:[\\w\\!\\#\\$\\%\\&\\\u0027\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+\\.)*[\\w\\!\\#\\$\\%\\&\\\u0027\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!\\.)){0,61}[a-zA-Z0-9]?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\\[(?:(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\]))$",
"MemberNames":[
"Name"
],
"RuleType":"Regex"
}
],
"Price":[
{
"Operator":0,
"Value":10,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
},
{
"Operator":2,
"Value":15,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
},
{
"Operator":1,
"Value":10,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
},
{
"Operator":3,
"Value":15,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
},
{
"Operator":4,
"Value":5,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
}
]
}
}
{
"Rules":[
{
"MemberNames":[
"Name"
],
"RuleType":"NotEmpty"
},
{
"MinLength":1,
"MaxLength":10,
"MemberNames":[
"Name"
],
"RuleType":"StringLength"
},
{
"MemberNames":[
"Name"
],
"RuleType":"OddLengthString"
},
{
"Pattern":"[A-Z]*",
"MemberNames":[
"Name"
],
"RuleType":"Regex"
},
{
"Pattern":"^(?:[\\w\\!\\#\\$\\%\\&\\\u0027\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+\\.)*[\\w\\!\\#\\$\\%\\&\\\u0027\\*\\+\\-\\/\\=\\?\\^\\`\\{\\|\\}\\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!\\.)){0,61}[a-zA-Z0-9]?\\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\\-](?!$)){0,61}[a-zA-Z0-9]?)|(?:\\[(?:(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\.){3}(?:[01]?\\d{1,2}|2[0-4]\\d|25[0-5])\\]))$",
"MemberNames":[
"Name"
],
"RuleType":"Regex"
},
{
"Operator":0,
"Value":10,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
},
{
"Operator":2,
"Value":15,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
},
{
"Operator":1,
"Value":10,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
},
{
"Operator":3,
"Value":15,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
},
{
"Operator":4,
"Value":5,
"MemberNames":[
"Price"
],
"RuleType":"Comparison"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment