Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
() => {
let formBuilder = new FormBuilder();
let formGroup = formBuilder.group({
'dataType': 'Integer',
'realNumber': -12.5
});
expect(RxwebValidators.numeric({ acceptValue:NumericValueType.Both,conditionalExpression: 'x => x.dataType == "Real"' })(formGroup.controls.realNumber)).toBeNull()
});
() => {
let formBuilder = new FormBuilder();
let formGroup = formBuilder.group({
'dataType': 'Real',
'realNumber': -15
});
expect(RxwebValidators.numeric({ acceptValue:NumericValueType.Both,conditionalExpression: 'x => x.dataType == "Real"' })(formGroup.controls.realNumber)).toBeNull()
});
@prop()
dataType: string;
@numeric({ acceptValue: NumericValueType.NegativeNumber })
negativeNumber: number;
@numeric({ allowDecimal: true })
decimalNumber: number;
//If you want to apply conditional expression of type 'function'
@numeric({ acceptValue: NumericValueType.PositiveNumber, conditionalExpression: (x, y) => x.dataType == "Integer" })
integerNumber: number;
//If you want to apply conditional expression of type 'string'
@numeric({ acceptValue: NumericValueType.Both, conditionalExpression: 'x => x.dataType == "Real"' })
realNumber: number;
@numeric({ message: '{{0}} is not a positive number' })
positiveNumber: number;
}
describe('Decorator', () => {
let formBuilder = new RxFormBuilder();
beforeEach(() => {
ReactiveFormConfig.set({
"validationMessage": {
"numeric": "Enter a valid numeric digit.",
}
});
ngOnInit() {
this.userInfoFormGroup = this.formBuilder.group({
dataType:['',],
integerNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.PositiveNumber ,allowDecimal:false ,conditionalExpression:(x,y) => x.dataType == "Number" })],
realNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.Both ,allowDecimal:false ,conditionalExpression:'x => x.dataType == "Number"' })],
negativeNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.NegativeNumber ,allowDecimal:true ,message:'{{0}} is not a negative number' })],
});
}
}
ngOnInit() {
this.userInfoFormGroup = this.formBuilder.group({
dataType:['',],
realNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.Both ,conditionalExpression:'x => x.dataType == "Real"' })],
integerNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.PositiveNumber ,conditionalExpression:(x,y) => x.dataType == "Integer" })],
});
}
}
ngOnInit() {
this.userInfoFormGroup = this.formBuilder.group({
dataType:['',],
realNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.Both ,conditionalExpression:'x => x.dataType == "Real"' })],
integerNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.PositiveNumber ,conditionalExpression:(x,y) => x.dataType == "Positive" })],
});
}
}
ngOnInit() {
this.userInfoFormGroup = this.formBuilder.group({
dataType:['',],
negativeNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.NegativeNumber })],
decimalNumber:['', RxwebValidators.numeric({allowDecimal:true })],
integerNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.PositiveNumber ,conditionalExpression:(x,y) => x.dataType == "Integer" })],
realNumber:['', RxwebValidators.numeric({acceptValue:NumericValueType.Both ,conditionalExpression:'x => x.dataType == "Real"' })],
positiveNumber:['', RxwebValidators.numeric({message:'{{0}} is not a positive number' })],
});
}
}
import { numeric,prop, NumericValueType, } from "@rxweb/reactive-form-validators"
export class UserInfo {
@prop()
dataType: string;
//If you want to apply conditional expression of type 'string'
@numeric({acceptValue:NumericValueType.Both ,conditionalExpression:'x => x.dataType == "Real"' })
realNumber: number;
//If you want to apply conditional expression of type 'function'
@numeric({acceptValue:NumericValueType.PositiveNumber ,conditionalExpression:(x,y) => x.dataType == "Positive" })
integerNumber: number;
}
import { numeric,prop, NumericValueType, } from "@rxweb/reactive-form-validators"
export class UserInfo {
@prop()
dataType: string;
//If you want to apply conditional expression of type 'function'
@numeric({acceptValue:NumericValueType.PositiveNumber ,allowDecimal:false ,conditionalExpression:(x,y) => x.dataType == "Number" })
integerNumber: number;
//If you want to apply conditional expression of type 'string'
@numeric({acceptValue:NumericValueType.Both ,allowDecimal:false ,conditionalExpression:'x => x.dataType == "Number"' })
realNumber: number;
@numeric({acceptValue:NumericValueType.NegativeNumber ,allowDecimal:true ,message:'{{0}} is not a negative number' })
negativeNumber: number;
}
@numeric({allowDecimal:true })
decimalNumber: number;
//If you want to apply conditional expression of type 'function'
@numeric({acceptValue:NumericValueType.PositiveNumber ,conditionalExpression:(x,y) => x.dataType == "Integer" })
integerNumber: number;
//If you want to apply conditional expression of type 'string'
@numeric({acceptValue:NumericValueType.Both ,conditionalExpression:'x => x.dataType == "Real"' })
realNumber: number;
@numeric({message:'{{0}} is not a positive number' })
positiveNumber: number;
}