diff --git a/tests/dummy/app/controllers/validators/numericality.js b/tests/dummy/app/controllers/validators/numericality.js
new file mode 100644
index 00000000..a4b72880
--- /dev/null
+++ b/tests/dummy/app/controllers/validators/numericality.js
@@ -0,0 +1,5 @@
+import BaseContoller from './base';
+
+export default BaseContoller.extend({
+ modelName: 'for-numericality'
+});
\ No newline at end of file
diff --git a/tests/dummy/app/models/specifics/for-numericality.js b/tests/dummy/app/models/specifics/for-numericality.js
new file mode 100644
index 00000000..21976ad3
--- /dev/null
+++ b/tests/dummy/app/models/specifics/for-numericality.js
@@ -0,0 +1,44 @@
+import DS from 'ember-data';
+import Validator from '../../mixins/model-validator';
+
+export default DS.Model.extend(Validator,{
+ anInteger: DS.attr('number'),
+ anIntegerLessThan4: DS.attr('number'),
+ anIntegerGreaterThan4: DS.attr('number'),
+ anIntegerGreaterThanOrEqual7: DS.attr('number'),
+ anIntegerLessThanOrEqual6: DS.attr('number'),
+ aTenNumber: DS.attr('number'),
+ anOddNumber: DS.attr('number'),
+ anEvenNumber: DS.attr('number'),
+ anOptionalNumber: DS.attr('number'),
+
+ validations: {
+ anInteger:{
+ numericality: {onlyInteger: true }
+ },
+ anIntegerLessThan4:{
+ numericality: {lessThan: 4}
+ },
+ anIntegerGreaterThan4:{
+ numericality: {greaterThan: 4}
+ },
+ anIntegerGreaterThanOrEqual7:{
+ numericality: {greaterThanOrEqualTo: 7}
+ },
+ anIntegerLessThanOrEqual6:{
+ numericality: {lessThanOrEqualTo: 6}
+ },
+ aTenNumber:{
+ numericality: {equalTo: 10}
+ },
+ anOddNumber:{
+ numericality: {odd: true}
+ },
+ anEvenNumber:{
+ numericality: {even: true}
+ },
+ anOptionalNumber:{
+ numericality: {onlyInteger: true, allowBlank: true}
+ }
+ }
+});
diff --git a/tests/dummy/app/router.js b/tests/dummy/app/router.js
index 0c74bb82..fda0583d 100644
--- a/tests/dummy/app/router.js
+++ b/tests/dummy/app/router.js
@@ -23,7 +23,7 @@ Router.map(function() {
this.route('exclusion');
this.route('match');
this.route('date');
-
+ this.route('numericality');
});
});
diff --git a/tests/dummy/app/templates/_menu.hbs b/tests/dummy/app/templates/_menu.hbs
index 3d45bcb7..7cab29f9 100644
--- a/tests/dummy/app/templates/_menu.hbs
+++ b/tests/dummy/app/templates/_menu.hbs
@@ -22,3 +22,4 @@
{{#link-to 'validators.exclusion' class='item'}}Exclusion{{/link-to}}
{{#link-to 'validators.match' class='item'}}Match{{/link-to}}
{{#link-to 'validators.date' class='item'}}Date{{/link-to}}
+{{#link-to 'validators.numericality' class='item'}}Numericality{{/link-to}}
diff --git a/tests/dummy/app/templates/validators/numericality.hbs b/tests/dummy/app/templates/validators/numericality.hbs
new file mode 100644
index 00000000..82324661
--- /dev/null
+++ b/tests/dummy/app/templates/validators/numericality.hbs
@@ -0,0 +1,189 @@
+
+
+
Specific Options
+
+ onlyInteger
. The value must be an integer.
+ greaterThan
. The value must be greater than the supplied value.
+ greaterThanOrEqualTo
. The value must be greater or equal to the supplied value.
+ equalTo
. The value must be equal to the supplied value.
+ lessThan
. The value must be less than the supplied value.
+ lessThanOrEqualTo
. The value must be less or equal to the supplied value.
+ odd
. The value must be odd.
+ even
. The value must be even.
+
+
+ {{#ui-annotation showing=true type="javascript"}}
+validations: {
+ anInteger:{
+ numericality: {onlyInteger: true }
+ },
+ anIntegerLessThan4:{
+ numericality: {lessThan: 4}
+ },
+ anIntegerGreaterThan4:{
+ numericality: {greaterThan: 4}
+ },
+ anIntegerGreaterThanOrEqual7:{
+ numericality: {greaterThanOrEqualTo: 7}
+ },
+ anIntegerLessThanOrEqual6:{
+ numericality: {lessThanOrEqualTo: 6}
+ },
+ aTenNumber:{
+ numericality: {equalTo: 10}
+ },
+ anOddNumber:{
+ numericality: {odd: true}
+ },
+ anEvenNumber:{
+ numericality: {even: true}
+ },
+ anOptionalNumber:{
+ numericality: {onlyInteger: true, allowBlank: true}
+ }
+}
+ {{/ui-annotation}}
+
+
+ {{config-options defaultMessage=messages.wrongLengthMessage}}
+
+ {{#ui-example
+ header="Examples"
+ as |showing setCopyCode|}}
+
+ {{#ui-html showing=showing}}
+
+
+
The Numericality Party
+ {{#object-form for=model classNames="segment"}}
+
+
+
+ {{#form-field for='anInteger' label="An integer" required=true}}
+ {{input value=model.anInteger placeholder="An integer"}}
+ {{/form-field}}
+
+
+ {{#form-field for='anIntegerLessThan4' label="Less than 4" required=true}}
+ {{input value=model.anIntegerLessThan4 placeholder="Less than 4"}}
+ {{/form-field}}
+
+
+ {{#form-field for='anIntegerGreaterThan4' label="Greater than 4" required=true}}
+ {{input value=model.anIntegerGreaterThan4 placeholder="Greater than 4"}}
+ {{/form-field}}
+
+
+ {{#form-field for='aTenNumber' label="A ten" required=true}}
+ {{input value=model.aTenNumber placeholder="A ten"}}
+ {{/form-field}}
+
+
+
+
+
+ {{#form-field for='anOddNumber' label="Odd Number" required=true}}
+ {{input value=model.anOddNumber placeholder="Odd Number"}}
+ {{/form-field}}
+
+
+ {{#form-field for='anEvenNumber' label="Even Number" required=true}}
+ {{input value=model.anEvenNumber placeholder="Even Number"}}
+ {{/form-field}}
+
+
+ {{#form-field for='anOptionalNumber' label="Optional Number" required=true}}
+ {{input value=model.anOptionalNumber placeholder="Optional Number"}}
+ {{/form-field}}
+
+
+
+
+ {{#form-field for='anIntegerGreaterThanOrEqual7' label="Greater than or equal 7" required=true}}
+ {{input value=model.anIntegerGreaterThanOrEqual7 placeholder="Greater than or equal 7"}}
+ {{/form-field}}
+
+
+ {{#form-field for='anIntegerLessThanOrEqual6' label="Less than or equal 6" required=true}}
+ {{input value=model.anIntegerLessThanOrEqual6 placeholder="Less than or equal 6"}}
+ {{/form-field}}
+
+
+
+ {{/object-form}}
+
+
+
+
+ {{model-errors-to-json errors=model.errors modelName=modelName}}
+
+
+
+ {{/ui-html}}
+
+ {{#ui-annotation showing=showing type="javascript" setCopyCode=setCopyCode}}
+import DS from 'ember-data';
+import Validator from '../mixins/model-validator';
+
+export default DS.Model.extend(Validator,{
+ socialSecurity: DS.attr('string'),
+ nsaNumber: DS.attr('string'),
+ chuncaluchoNumber: DS.attr('string'),
+ hugeName: DS.attr('string'),
+ smallName: DS.attr('string'),
+
+ validations: {
+ socialSecurity: {
+ length: 5
+ },
+ nsaNumber: {
+ length: [3, 5]
+ },
+ chuncaluchoNumber: {
+ length: { is: 10, message: 'this is not the length of a chuncalucho' }
+ },
+ hugeName:{
+ length: {
+ minimum: 3,
+ maximum: 5
+ }
+ },
+ smallName:{
+ length: {
+ minimum: 1,
+ maximum: {
+ value: 2,
+ message: 'should be smaller'
+ }
+ }
+ }
+ }
+});
+ {{/ui-annotation}}
+
+ {{/ui-example}}
+
\ No newline at end of file