4
我有以下規則:將多個規則轉化爲一個規則
RuleFor(x => x.FromNumber).NotEmpty().GreaterThan(0).When(x => x.NumbersRequired).WithState(x => MyErrorEnum.FromNumberRequired);
酒店FromNumber
是int?
類型。上面的問題是CustomState
只設置爲GreaterThan
。如果值爲空或0,則CustomState
爲空。
如果我改變上述以下規則仍然按預期工作:
RuleFor(x => x.FromNumber ?? 0).GreaterThan(0).When(x => x.NumbersRequired).WithState(x => MyErrorEnum.FromNumberRequired);
但是,有沒有更好的辦法,以這兩個規則組合成一個規則,而不是使用空條件運算符?
我該如何實現這個規則:'RuleFor(x => x.ToNumber).NotEmpty()。GreaterThan(x => x.FromNumber)'? –
@ Ivan-MarkDebono使用另一個重載訪問模型:'RuleFor(x => x.ToNumber).Muxt((model,x)=> x!= null && x> model.FromNumber);' –