如何用java编写判断邮政编码_Acumatica邮政编码验证和匹配

添加PXDefault属性应该足以使该字段成为必需 . 如果值为null或为空,PXDefault将阻止保存 . 它会引发错误并突出显示该字段 .

Adding the custom field in SOOrder DAC:

4Mbp6.png

Adding the custom field to Sales Order screen:

wbAij.png

Testing required field by saving without providing Postal Code value:

OMAk9.png

Using Inspect Element, locate the field you want to validate against:

sRwGT.png

In the code section, create a Graph Extension for SOOrderEntry where you will put your validations:

ZaZ4L.png

Write your validation code in that graph extension:

namespace PX.Objects.SO

{

public class SOOrderEntry_Extension:PXGraphExtension

{

public const string postalCodeErrorMessage = "Sales Order postal code must match shipping address postal code.";

// Validate just before saving, triggered when graph save function is called

public void SOOrder_RowPersisting(PXCache sender, PXRowPersistingEventArgs e)

{

if (!ValidatePostalCode(sender, e.Row as SOOrder))

{

// Raise field error

PXUIFieldAttribute.SetError(sender, e.Row, postalCodeErrorMessage);

}

}

// Validation function

public bool ValidatePostalCode(PXCache sender, SOOrder soOrder)

{

if (soOrder != null)

{

// Get SOOrder custom field Postal Code

SOOrderExt soOrderExt = sender.GetExtension(soOrder);

if (soOrderExt != null)

{

string soPostalCode = soOrderExt.UsrPostalCode;

// Get current shipping address displayed on Sales Order

SOShippingAddress shippingAddress = Base.Shipping_Address.Current as SOShippingAddress;

if (shippingAddress != null)

{

// Special case to handle null values

if (soPostalCode == null || shippingAddress.PostalCode == null)

{

return soPostalCode == shippingAddress.PostalCode;

}

// Compare postal codes

soPostalCode =soPostalCode.Trim().Replace(" ", "");

string shippingPostalCode = shippingAddress.PostalCode.Trim().Replace(" ", "");

return soPostalCode.Equals(shippingPostalCode, StringComparison.OrdinalIgnoreCase);

}

}

}

return false;

}

}

}

When saving or when the custom postal code field lose focus, validation will be triggered:

CRyAQ.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值