Yes, your second "if" is messing things up.
Try
If x.Text = "" Then
x.Focus()
ErrPvdr.SetError(x, "Cannot be a blank input")
ElseIf x.Name = "txtUprice" And (Not IsNumeric(x.Text)) Then
x.Focus()
ErrPvdr.SetError(x, "Cannot be a non numeric value")
Else
ErrPvdr.Clear()
End If
Cheers