문제

방금 nhibvalidator를 구성했습니다. 내 nhibernate가 DB 스키마를 만듭니다. maxlenght = "20"을 클래스의 일부 속성으로 설정하면 데이터베이스에서 길이가 데이터베이스 열에 나타납니다. NhibValidator XML 파일 에서이 작업을 수행하고 있습니다. 그러나 문제는 구성 요소가 있고이 동작을 달성하는 방법을 알 수 없다는 것입니다. 구성 요소는 customer.hbm.xml 파일에서 올바르게 구성됩니다.

편집 : 글쎄, 나는 최대 절전 모드 검증기 사용자가 2 년 전에 같은 문제를 겪었다는 것을 알았습니다.http://opensource.atlassian.com/projects/hibernate/browse/hv-25 이것은 nhibernate 유효성 검사기의 문제이거나 고정되어 있습니다. 그것이 작동한다면 어떻게 제발 말해줘.

-----------------------------------------------------
public class Customer
{
public virtual string Name{get;set;}
public virtual Contact Contacts{ get; }
}
-----------------------------------------------------
public class Contact
{
public virtual string Address{get;set;}
}
-----------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<nhv-mapping xmlns="urn:nhibernate-validator-1.0"
                        namespace="MyNamespace"
                        assembly="MyAssembly">
<class name="Customer">

   <property name="Name">
     <length max="20"/>
   </property>

   <property name="Contacts">
         <notNull/>
         <valid/>
   </property>

</class>
</nhv-mapping>
-----------------------------------------------------
<?xml version="1.0" encoding="utf-8" ?>
<nhv-mapping xmlns="urn:nhibernate-validator-1.0"
                        namespace="MyNamespace"
                        assembly="MyAssembly">
<class name="Contact">

   <property name="Address">
         <length max="50"/>
         <valid/>
   </property>

</class>
</nhv-mapping>
-----------------------------------------------------
도움이 되었습니까?

해결책

글쎄, 이것은 버그 여야합니다. 이것을 nhibernate 문제 추적기에 게시했습니다.

https://nhibernate.jira.com/browse/nhv-82

업데이트 : 문제가 해결되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top