fix bug in framework
add custom validation rule