I want to evaluate a from in if binding of clojure and if it returns false then i want to return the evaluation.

For eg

```
(defn testa [testvalue](let [tval testvalue]
                    (assert (validate tval) "incorrectvalue")
                    (if (= (+ 4 tval) 8)
                      1
                      (+ 4 tval))))

```

So here validate is a function which validates some criteria but after that if expression results in false then i am returning the same result of the same expression i evaulated in if binding.But i want to avoid it writing again.

How can i do that?

Correction:- i also want to perform operation on tval before validate. 

```
(defn testa [testvalue]
(let [tval (trim testvalue)] 
(assert (validate tval) "incorrectvalue") 
(if (= (+ 4 tval) 8) 
1 
(+ 4 tval))))

```

Thanks!!