@@ -551,8 +551,23 @@ $.fn.form = function(parameters) {
551
551
requiresValue = ( prompt . search ( '{value}' ) !== - 1 ) ,
552
552
requiresName = ( prompt . search ( '{name}' ) !== - 1 ) ,
553
553
$label ,
554
- name
554
+ name ,
555
+ parts ,
556
+ suffixPrompt
555
557
;
558
+ if ( ancillary && ancillary . indexOf ( '..' ) >= 0 ) {
559
+ parts = ancillary . split ( '..' , 2 ) ;
560
+ if ( ! rule . prompt ) {
561
+ suffixPrompt = (
562
+ parts [ 0 ] === '' ? settings . prompt . maxValue . replace ( / \{ r u l e V a l u e \} / g, '{max}' ) :
563
+ parts [ 1 ] === '' ? settings . prompt . minValue . replace ( / \{ r u l e V a l u e \} / g, '{min}' ) :
564
+ settings . prompt . range
565
+ ) ;
566
+ prompt += suffixPrompt . replace ( / \{ n a m e \} / g, ' ' + settings . text . and ) ;
567
+ }
568
+ prompt = prompt . replace ( / \{ m i n \} / g, parts [ 0 ] ) ;
569
+ prompt = prompt . replace ( / \{ m a x \} / g, parts [ 1 ] ) ;
570
+ }
556
571
if ( requiresValue ) {
557
572
prompt = prompt . replace ( / \{ v a l u e \} / g, $field . val ( ) ) ;
558
573
}
@@ -1561,12 +1576,16 @@ $.fn.form.settings = {
1561
1576
} ,
1562
1577
1563
1578
text : {
1579
+ and : 'and' ,
1564
1580
unspecifiedRule : 'Please enter a valid value' ,
1565
1581
unspecifiedField : 'This field' ,
1566
1582
leavingMessage : 'There are unsaved changes on this page which will be discarded if you continue.'
1567
1583
} ,
1568
1584
1569
1585
prompt : {
1586
+ range : '{name} must be in a range from {min} to {max}' ,
1587
+ maxValue : '{name} must have a maximum value of {ruleValue}' ,
1588
+ minValue : '{name} must have a minimum value of {ruleValue}' ,
1570
1589
empty : '{name} must have a value' ,
1571
1590
checked : '{name} must be checked' ,
1572
1591
email : '{name} must be a valid e-mail' ,
@@ -1729,11 +1748,24 @@ $.fn.form.settings = {
1729
1748
}
1730
1749
return value . match ( new RegExp ( regExp , flags ) ) ;
1731
1750
} ,
1732
-
1751
+ minValue : function ( value , range ) {
1752
+ return $ . fn . form . settings . rules . range ( value , range + '..' , 'number' ) ;
1753
+ } ,
1754
+ maxValue : function ( value , range ) {
1755
+ return $ . fn . form . settings . rules . range ( value , '..' + range , 'number' ) ;
1756
+ } ,
1733
1757
// is valid integer or matches range
1734
1758
integer : function ( value , range ) {
1759
+ return $ . fn . form . settings . rules . range ( value , range , 'integer' ) ;
1760
+ } ,
1761
+ range : function ( value , range , regExp ) {
1762
+ if ( typeof regExp == "string" ) {
1763
+ regExp = $ . fn . form . settings . regExp [ regExp ] ;
1764
+ }
1765
+ if ( ! ( regExp instanceof RegExp ) ) {
1766
+ regExp = $ . fn . form . settings . regExp . integer ;
1767
+ }
1735
1768
var
1736
- intRegExp = $ . fn . form . settings . regExp . integer ,
1737
1769
min ,
1738
1770
max ,
1739
1771
parts
@@ -1742,34 +1774,34 @@ $.fn.form.settings = {
1742
1774
// do nothing
1743
1775
}
1744
1776
else if ( range . indexOf ( '..' ) == - 1 ) {
1745
- if ( intRegExp . test ( range ) ) {
1777
+ if ( regExp . test ( range ) ) {
1746
1778
min = max = range - 0 ;
1747
1779
}
1748
1780
}
1749
1781
else {
1750
1782
parts = range . split ( '..' , 2 ) ;
1751
- if ( intRegExp . test ( parts [ 0 ] ) ) {
1783
+ if ( regExp . test ( parts [ 0 ] ) ) {
1752
1784
min = parts [ 0 ] - 0 ;
1753
1785
}
1754
- if ( intRegExp . test ( parts [ 1 ] ) ) {
1786
+ if ( regExp . test ( parts [ 1 ] ) ) {
1755
1787
max = parts [ 1 ] - 0 ;
1756
1788
}
1757
1789
}
1758
1790
return (
1759
- intRegExp . test ( value ) &&
1791
+ regExp . test ( value ) &&
1760
1792
( min === undefined || value >= min ) &&
1761
1793
( max === undefined || value <= max )
1762
1794
) ;
1763
1795
} ,
1764
1796
1765
1797
// is valid number (with decimal)
1766
- decimal : function ( value ) {
1767
- return $ . fn . form . settings . regExp . decimal . test ( value ) ;
1798
+ decimal : function ( value , range ) {
1799
+ return $ . fn . form . settings . rules . range ( value , range , 'decimal' ) ;
1768
1800
} ,
1769
1801
1770
1802
// is valid number
1771
- number : function ( value ) {
1772
- return $ . fn . form . settings . regExp . number . test ( value ) ;
1803
+ number : function ( value , range ) {
1804
+ return $ . fn . form . settings . rules . range ( value , range , 'number' ) ;
1773
1805
} ,
1774
1806
1775
1807
// is value (case insensitive)
0 commit comments