Module: Dolibarr::Api::Validations

Included in:
Models::BankaccountsAddLineModel, Models::BankaccountsAddLinkModel, Models::BankaccountsTransferModel, Models::BankaccountsUpdateLineModel, Models::ContactsCreateUserModel, Models::CreateBankaccountsModel, Models::CreateContactsModel, Models::CreateDocumentsModel, Models::CreateEmailtemplatesModel, Models::CreateInvoicesModel, Models::CreateProductsModel, Models::CreateProposalsModel, Models::CreateSupplierinvoicesModel, Models::CreateSupplierordersModel, Models::CreateThirdpartiesModel, Models::CreateUsersModel, Models::DocumentsBuilddocModel, Models::EmailtemplatesUpdateByIdModel, Models::EmailtemplatesUpdatebyLabelModel, Models::InvoicesAddContactModel, Models::InvoicesAddPaymentDistributedModel, Models::InvoicesAddPaymentModel, Models::InvoicesCreateContactModel, Models::InvoicesCreateLineModel, Models::InvoicesSettodraftModel, Models::InvoicesSettopaidModel, Models::InvoicesUpdateLineModel, Models::InvoicesUpdatePaymentModel, Models::InvoicesValidateModel, Models::ListLoginModel, Models::Obj, Models::ObjectlinksCreateModel, Models::ProductsAddAttributeValueModel, Models::ProductsAddAttributesModel, Models::ProductsAddPurchasePriceModel, Models::ProductsAddSubproductsModel, Models::ProductsAddVariantByProductRefModel, Models::ProductsAddVariantModel, Models::ProductsCreateContactModel, Models::ProductsUpdateAttributeValueModel, Models::ProductsUpdateAttributesModel, Models::ProductsUpdateVariantModel, Models::ProposalsCloseModel, Models::ProposalsCreateContactModel, Models::ProposalsCreateLineModel, Models::ProposalsCreateLinesModel, Models::ProposalsUpdateLineModel, Models::ProposalsValidateModel, Models::SetupCreateExtrafieldsModel, Models::SetupUpdateExtrafieldsModel, Models::SupplierinvoicesAddPaymentModel, Models::SupplierinvoicesCreateLineModel, Models::SupplierinvoicesSettodraftModel, Models::SupplierinvoicesSettopaidModel, Models::SupplierinvoicesUpdateLineModel, Models::SupplierinvoicesValidateModel, Models::SupplierordersApproveModel, Models::SupplierordersCreateLineModel, Models::SupplierordersMakeOrderModel, Models::SupplierordersReceiveOrderModel, Models::SupplierordersValidateModel, Models::ThirdpartiesCreateCompanyBankAccountModel, Models::ThirdpartiesCreateCompanyNotificationByCodeModel, Models::ThirdpartiesCreateCompanyNotificationModel, Models::ThirdpartiesCreateSocieteAccountModel, Models::ThirdpartiesSplitdiscountModel, Models::ThirdpartiesUpdateCompanyBankAccountModel, Models::ThirdpartiesUpdateCompanyNotificationModel, Models::ThirdpartiesUpdateSocieteAccountModel, Models::UpdateBankaccountsModel, Models::UpdateContactsModel, Models::UpdateInvoicesModel, Models::UpdatePaiementsModel, Models::UpdateProductsModel, Models::UpdateProposalsModel, Models::UpdateSupplierinvoicesModel, Models::UpdateSupplierordersModel, Models::UpdateThirdpartiesModel, Models::UpdateUsersModel, Models::UsersCreateGroupsModel, Models::UsersCreateUserNotificationByCodeModel, Models::UsersCreateUserNotificationModel, Models::UsersUpdateGroupsModel, Models::UsersUpdateUserNotificationModel
Defined in:
lib/dolibarr-api/validations.rb

Overview

Declarative attribute DSL. attribute :name, type:, required:, enum:, ... generates the accessor, registers the attribute in openapi_attributes, and stores the validation rules. Replaces the per-model EnumAttributeValidator.

Defined Under Namespace

Modules: ClassMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(base) ⇒ Object



8
9
10
# File 'lib/dolibarr-api/validations.rb', line 8

def self.included(base)
  base.extend(ClassMethods)
end

Instance Method Details

#list_invalid_propertiesObject



51
52
53
54
55
56
57
# File 'lib/dolibarr-api/validations.rb', line 51

def list_invalid_properties
  errors = []
  self.class.openapi_attributes.each do |name, attr|
    errors.concat(validate_attribute(name, attr, public_send(name)))
  end
  errors
end

#valid?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/dolibarr-api/validations.rb', line 59

def valid?
  list_invalid_properties.empty?
end