BravoUniqueKeyValidator

Phạm vi áp dụng

✅ Bravo 8 · ✅ Bravo 10

Ý nghĩa

Validator kiểm tra tính duy nhất trong cơ sở dữ liệu.

Khác với UniqueKey

UniqueKey (DataSource)BravoUniqueKeyValidator
Kiểm tra ở đâuTrên màn hình nhập liệu tại clientTrong CSDL
Phạm viDữ liệu đang mở trên formToàn bộ bảng/view

Các thẻ hỗ trợ

ThẻNội dung
SourceColumnDanh sách các trường cần kiểm tra. Nếu là danh sách cột thì được hiểu là kiểm tra tính duy nhất của tổ hợp các trường
TargetColumnDanh sách cột hiển thị câu cảnh báo lỗi
FilterKeyMệnh đề kiểm tra thêm của validator
CaptionTiêu đề cột hiển thị thông báo lỗi
ExprĐiều kiện chạy validator
TextCâu hiển thị lỗi

Ví dụ

Kiểm tra tính duy nhất của số chứng từ:

<CheckDocNoUnique>
  <ClassName>BravoUniqueKeyValidator</ClassName>
  <SourceColumn>DocNo</SourceColumn>
  <FilterKey>DocCode IN (SELECT Ma_Ct FROM B00DmCt WHERE
    ISNULL(DocCodeNumbering,'{=DocCode}') =
    IIF('{=DocCodeNumbering}'='','{=DocCode}','{=DocCodeNumbering}')) AND
    BranchCode='{=Branch()}' AND FiscalYear='{=FiscalYear}'</FilterKey>
</CheckDocNoUnique>

Diễn giải: mệnh đề WHERE kiểm tra tính duy nhất của số chứng từ nhưng chỉ kiểm tra với dữ liệu của đơn vị cơ sở hiện tại, năm làm việc hiện tại, và chỉ kiểm tra trùng với chứng từ phiếu xuất (hoặc nhóm chứng từ cùng định dạng số chứng từ PX).

Ghi chú

Important

  • Thẻ FilterKey chỉ hỗ trợ với ClassName là BravoUniqueKeyValidator
  • Tính duy nhất của dữ liệu được kiểm tra trong bảng hoặc view khai báo trong thẻ Name của bảng đó
  • Với Validator loại này thì ngầm định bValidateIfModify và bValidateIfNotEmpty là True
  • Thẻ zValidateExpr không hỗ trợ với ClassName này

Liên quan

UniqueKey · FilterKey · bValidateIfModify · Validator Overview