Why doesn't it work when sameAs is used in vuelidate?
You need to point out your nested attribute with a function. Like this :
data(){return { password :{ new: '', newRepeated:'' }}}, validations : { password: { new : {required}, newRepeated : { required, sameAs : sameAs( function(){return this.password.new} ) } }}
I would also suggest you to take a look at this closed issue.https://github.com/vuelidate/vuelidate/issues/252