Javascript 使用Java和NodeJS验证字符串
Javascript 使用Java和NodeJS验证字符串,javascript,java,node.js,Javascript,Java,Node.js,vo.getResultFun()和cod返回'G' Java验证 if ( genericValidator.isBlankOrNull(vo.getResultFun()) || !("G".equalsIgnoreCase(vo.getResultFun()) || "B".equalsIgnoreCase(vo.getResultFun()))) { throw new UCNaoCadastradaG
vo.getResultFun()
和cod
返回'G'
Java验证
if ( genericValidator.isBlankOrNull(vo.getResultFun()) ||
!("G".equalsIgnoreCase(vo.getResultFun()) || "B".equalsIgnoreCase(vo.getResultFun()))) {
throw new UCNaoCadastradaGerBenException();
}
NodeJS
if (Validator.isNullUndefinedEmpty(cod) ||
!(Validator.isEqual(cod, 'B', true) || Validator.isEqual(cod, 'G', true))) {
callback(Translate.__('K1.CH1', lang), null);
isEqual
static isEqual(str1: string, str2: string, ignoreCase: boolean = false): boolean {
let ret = false;
if (ignoreCase) {
ret =
(str1 === undefined && str2 === undefined) ||
(str1 === null && str2 === null) ||
(str1 != null && str2 != null && typeof str1 === 'string' && typeof str2 === 'string' && str1.toUpperCase() === str2.toUpperCase());
} else {
ret =
(str1 === undefined && str2 === undefined) ||
(str1 === null && str2 === null) ||
(str1 != null && str2 != null && typeof str1 === 'string' && typeof str2 === 'string' && str1 === str2);
}
return ret;
}
为什么NodeJS返回回调而Java不抛出异常?这个js部分的结果是:
!(Validator.isEqual(cod, 'B', true) || Validator.isEqual(cod, 'G', true))
是false
作为此java部分的结果:
!("G".equalsIgnoreCase(vo.getResultFun()) || "B".equalsIgnoreCase(vo.getResultFun()))
因此,有几种选择:
不起作用Validator.isNullUndefinedEmpty
并不严格等于“G”cod
- 不调用回调函数