建议到需要用的时候再调用创建，在构造函数中调用是一种强制性的行为，会影响很多扩展性，因为构造函数是不能`override`的

而且调用前得先判断下是否已经有了`validator`，如果是外部组装的话会已经有了，就不需要自己再创建