Валидатор обязательных полей для модели (файл .cto) в Hyperledger Composer - PullRequest
0 голосов
/ 23 октября 2018

Я занимаюсь разработкой приложения для блокчейна с использованием Hyperledger Composer.Это часть моей модели, т. Е. Файл .cto:

concept Address{
  o String addressId
  o String PersonInChargeFullName
  o String title
  o String address1
  o String address2 optional
  o String city
  o String country
  o String zipcode regex=/^\d{5}$/
  o String phone regex=/^\s*(?:\+?(\d{1,3}))?[-. (]*(\d{3})[-. )]*(\d{3})[-. ]*(\d{4})(?: *x(\d+))?\s*$/
  o String email regex=/^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})$/
  o Boolean isActive default=true
}

abstract participant Company identified by companyId{
  o String companyId
  o String companyName
  o Address defaultAddress
}

participant OEM extends Company {
  o Address[] plants
}

С этой страницы я понимаю, что если мы используем необязательный в качестве валидатора поля, которыйозначает, что это поле не является обязательным, а другие нет.Я прав?

Хотя я не сделал PersonInChargeFullName необязательным, когда я отправляю данные (например, "PersonInChargeFullName": "",) из API-интерфейса composer-rest-server, транзакция получаетобработано, без ошибок.

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 25 июня 2019

Здесь опция немного отличается от другой, попробуйте запустить ваш код без поля PersonInChargeFullName, а не как PersonInChargeFullName = "", но не включайте его в json-ввод. Я почти уверен, что вы получите ошибку.

...