Remember that getComponent parameter is case sensisitve. It is good practice to check for null.
I have found the string.methods equals, isEmpty more reliable than just comparison.
var pref = getComponent("preferredContact").getValue();
var other = getComponent("other").getValue();
if ((pref != null) && (other != null)) {
if (pref.equals("Other method") && !other.isEmpty()) {
return true;
}
}
return false;