Привет, я хочу создать файл, который принимает только значения, которые существуют в таблице (с более чем 20000 строк), поэтому у меня есть следующий код
demoForm :: Maybe Demo -> AForm Handler Demo
demoForm demo = Demo
<$> areq nitField (bfs (MsgName)) (demoFieldOne <$> demo)
<*> areq intField (bfs (MsgName)) (demoFieldTwo <$> demo)
where
errorMessage :: Text
errorMessage = "the company no exist!"
nitField = check validateNit textField
validateNit nit
| companiesMatch nit = Left errorMessage
| otherwise = Right nit
companiesMatch name = do
entities <- runDB $ selectList [CompanyName ==. name] []
return (null entities)
но я получаю сообщение об ошибке Couldn't match expected type ‘Bool’with actual type ‘m0 (HandlerT site0 IO Bool)’
, так как же получить логическое значение из монады или существует лучший способ выполнить эту проверку?