backbone.validation
backbone.validation copied to clipboard
Ability to specify functions for built in validators
It would be easy for users to use built in validators in a conditional way, if functions were supported to be used for built in validators (similar to required validator). e.g.
validation: {
email: {
pattern: function(){
if(condition) {return 'email';}
else {return ''}
}
}
}
Thoughts on having this??? The implementation could be similar to default required validator:
pattern: function(value, attr, pattern, model) {
var pattern = _.isFunction(pattern) ? pattern.call(model, value, attr, model) : pattern;
if (!hasValue(value) || !value.toString().match(defaultPatterns[pattern] || pattern)) {
return this.format(defaultMessages[pattern] || defaultMessages.inlinePattern, this.formatLabel(attr, model), pattern);
}
}
I second that. I would like to provide a function for dynamic ranges of the range
validator as follows:
validation: {
weight: {
range: function(value){
var min = 0; // some calculated value
var max = 50; // some calculated value
return [min, max];
}
}
}