Validation 如何在属性相互依赖的Aurelia验证中接受空值?

Validation 如何在属性相互依赖的Aurelia验证中接受空值?,validation,aurelia,Validation,Aurelia,我试图验证一些相互依赖的温度值,但我也想接受它们的空值。例如,我有以下代码: VadliationRules.customRule( "minT", (value, obj: Object, min) => { let converted = parseFloat(value) return converted >= min && converted < obj.MaxTemperature }, ''); ValidationRule

我试图验证一些相互依赖的温度值,但我也想接受它们的空值。例如,我有以下代码:

VadliationRules.customRule(
"minT",
(value, obj: Object, min) => {
 let converted = parseFloat(value)
 return converted >= min && converted < obj.MaxTemperature
},
'');

ValidationRules.customRule(
"maxT",
(value, obj: Object, max) => {
 let converted = parseFloat(value)
 return converted <= max && converted > obj.MinTemperature
},
'');

ValidationRules
.ensure((p: Object) => p.MinTemperature)
.satisfiesRule('minT', -15.0)
.withMessageKey('min_temp')

.ensure((p: Object) => p.MaxTemperature)
.satisfiesRule('maxT', 50.0)
.withMessageKey('max_temp')

.on(Object)

let MinTemperature : number;
let MaxTemperature : number;
VadliationRules.customRule(
“薄荷”,
(值,对象:对象,最小)=>{
let converted=parseFloat(值)
返回已转换>=最小值和已转换值{
let converted=parseFloat(值)
返回换算对象的最小温度
},
'');
验证规则
.确保((p:Object)=>p.Mint温度)
.satisfiesRule('minT',-15.0)
.withMessageKey('min_temp'))
.确保((p:Object)=>p.MaxTemperature)
.satisfiesRule('maxT',50.0)
.withMessageKey('max_temp'))
.关于(对象)
让最小温度:数字;
设MaxTemperature:数字;
我尝试了以下选项,但它们似乎不起作用(因为我认为它们依赖于其他属性)

//示例1
VadliationRules.customRule(
“薄荷”,
(值,对象:对象,最小)=>{
let converted=parseFloat(值)
返回converted>=min&&converted{
let converted=parseFloat(值)
return converted>=min&&converted
如何同时为两个字段接受空值以满足对其他属性的依赖性?

请尝试以下操作

return converted >= min && (converted < obj.MaxTemperature || obj.MaxTemperature == null)
return converted>=min&(converted
  • 当不使用括号时,当obj.maxtempture==null时,无论您的第一次检查结果如何,它都将通过
  • 仅供参考,obj.MaxTemperature==null还检查未定义,因此可以省略该部分(请参阅)
  • 试试下面的方法

    return converted >= min && (converted < obj.MaxTemperature || obj.MaxTemperature == null)
    
    return converted>=min&(converted
  • 当不使用括号时,当obj.maxtempture==null时,无论您的第一次检查结果如何,它都将通过
  • 仅供参考,obj.MaxTemperature==null还检查未定义,因此可以省略该部分(请参阅)