rule pattern support multi types input